DJI Mobile SDK 2.4.1をAndroid Studio 1.5で使う方法

![DJI.jpg](https://qiita-image-store.s3.amazonaws.com/0/63450/93e1839e-7741-1c4b-599d-32ce4e85b2ba.jpeg)

[DJI Mobile SDK](https://developer.dji.com/mobile-sdk/downloads/)をAndroid Studio 1.5でImport Modulesで読み込むとうまく読み込めない。

そこで、DJI Mobile SDKをAndroid Studio 1.5で使用する方法をまとめる。

## 新規プロジェクトの作成

Android Studio 1.5の[File]-[New]-[New Project...]を選択し、新規プロジェクトを作成する。
![dji001.png](https://qiita-image-store.s3.amazonaws.com/0/63450/426da381-3718-1426-c886-f838309c9ca5.png)

アプリケーション名とカンパニードメインを記入する。
![dji002.png](https://qiita-image-store.s3.amazonaws.com/0/63450/212f8671-ef11-3645-344f-fe8096cfff8f.png)

Phont and TabletのMinimun SDKのVersionをしていする。DJI SDKは、API 16以降の対応となっている。
![dji003.png](https://qiita-image-store.s3.amazonaws.com/0/63450/a645bddc-9b11-5274-4be3-c4a57962585d.png)

Activityは、Empty Activityを選択する。
![dji004.png](https://qiita-image-store.s3.amazonaws.com/0/63450/bc79c63c-9be7-17a0-0289-5c14aef4b5e8.png)

Activity Nameを指定する。
![dji005.png](https://qiita-image-store.s3.amazonaws.com/0/63450/0c464e7d-289d-9950-96bd-64bcfa43a595.png)

新規プロジェクトが生成される。
![dji006.png](https://qiita-image-store.s3.amazonaws.com/0/63450/a01fc456-3ee9-1dd0-eaca-573e34a228c6.png)


## 新規モジュールの作成

Android Studioの[File]-[New]-[New Module...]を選択し、モジュールを生成する。
![dji007.png](https://qiita-image-store.s3.amazonaws.com/0/63450/e78fa4c1-0c40-ec02-eaf5-c920b4bfe5ee.png)

Moduleの種類はAndroid Libraryを選択する。
![dji008.png](https://qiita-image-store.s3.amazonaws.com/0/63450/638274d7-3739-ba63-4a50-872eda75f05f.png)

Android Libraryの名称とModule名を指定する。

![dji009.png](https://qiita-image-store.s3.amazonaws.com/0/63450/abaa1b9b-e542-98c7-f5d2-220f06e6a4b9.png)

新規モジュールが生成される。

![dji010.png](https://qiita-image-store.s3.amazonaws.com/0/63450/10f05d38-fd44-c833-7bee-7a1c459dea50.png)

## DJI Mobile SDKをコピー

djisdklibフォルダがModule, appフォルダがメインプロジェクトになる。
![dji011.png](https://qiita-image-store.s3.amazonaws.com/0/63450/3117e1c9-2cc5-c3f1-6448-6f79c1251279.png)

[DJI Mobile SDK](https://developer.dji.com/mobile-sdk/downloads/)をダウンロードして解凍する。Lib>DJI-SDK-LIB>Libs のファイル群を、今回新規に作成したプロジェクトのDemo>djisdklib>libs に一式コピーする。

![dji022.png](https://qiita-image-store.s3.amazonaws.com/0/63450/be15942b-4511-4dea-b107-729937106c10.png)

![dji023.png](https://qiita-image-store.s3.amazonaws.com/0/63450/afbbf67e-3318-2c62-a66d-ea24b4b7a954.png)


DJI Mobile SDKのLib>DJI-SDK-Lib>res の中身も一式、新規作成したプロジェクトのdjisdklib>src>main>resにコピーする。
![dji020.png](https://qiita-image-store.s3.amazonaws.com/0/63450/04d34ef3-31b9-f2eb-fdf9-a9bb15126c7a.png)

![dji021.png](https://qiita-image-store.s3.amazonaws.com/0/63450/abf86261-f9ff-a931-0773-f69fca24568b.png)

AndroidManifest.xmlもコピーする。

![dji024.png](https://qiita-image-store.s3.amazonaws.com/0/63450/37892f6d-f116-8761-9148-3da98b07c8dd.png)

![dji025.png](https://qiita-image-store.s3.amazonaws.com/0/63450/5110ff71-0772-c5ac-93e3-f739c0dd65ec.png)

## Build.gradle(Module: app)の書き換え

build.gradle (Module: app)のandroidの中に
```
   sourceSets {
        main {
            jni.srcDirs = []
            jniLibs.srcDir "../djisdklib/libs"
        }
    }
```

build.gradle (Module: app)のdependency中に

```
compile project(':djisdklib')
```

を追加。

![dji014.png](https://qiita-image-store.s3.amazonaws.com/0/63450/b6a32d42-27f0-ca3e-e667-80c759dedbdc.png)

```build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.gclue.dji.demo"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jni.srcDirs = []
            jniLibs.srcDir "../djisdklib/libs"
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile project(':djisdklib')
}
```

Syncをすると、プログラム上でDJI Mobile SDKが使えるようになる。