Cocos2d-xのAndroidStudioにLobiSDK(Ranking)を適用する


cocos3.x系で作成されたAndroidStudioに、
LobiRankingSDKを適用する為の手順。

**AndroidStudio設定の超参考サイト**
http://buchi.hatenablog.com/entry/2015/02/16/180847

# 環境
- AndroidStudio 2.1.2
- cocos2d-x-3.11.1 (3.x系であれば多分そんなに関係無い)
- LobiSDK v6.4.9

# LobiSDKのダウンロード
githubで公開されている[LobiSDK](https://github.com/kayac/Lobi)をダウンロード

# build.gradleの配置
**Android/LobiCore**と**Android/LobiRanking**それぞれに、下記のようなbuild.gradleを置く

<font color=red>SDKバージョンはcocos2d-xの設定と同じにしています</font>

```Android/LobiCore/build.gradle
apply plugin: 'com.android.library'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    sourceSets.main {
        res.srcDir "res"
        jniLibs.srcDir "libs"
        manifest.srcFile "AndroidManifest.xml"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

```

```Android/LobiRanking/build.gradle
apply plugin: 'com.android.library'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    sourceSets.main {
        res.srcDir "res"
        jniLibs.srcDir "libs"
        manifest.srcFile "AndroidManifest.xml"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':LobiCore')
}
```

# LobiSDKを移動
build.gradleを設置したLobiSDKを、
cocos2d-xの**proj.android-studio/libs**へ移動

![スクリーンショット 2016-07-03 18.40.12.png](https://qiita-image-store.s3.amazonaws.com/0/29099/f9c32f92-ef40-4b3c-c1a0-590a0c3f1bb6.png)

# AndroidStudioに取り込む

最終的にはテキストに適用されるだけですが、
AndroidStudioからも設定できます。


## テキストで直接編集する場合

下記２ファイルを追加編集

```proj.android-studio/settings.gradle
+ include ':LobiCore'
+ project(':LobiCore').projectDir = new File(settingsDir, 'libs/LobiCore')
+ include ':LobiRanking'
+ project(':LobiRanking').projectDir = new File(settingsDir, 'libs/LobiRanking')
```

```proj.android-studio/app/build.gradle
dependencies {
+     compile project(':LobiRanking')
}
```

## AndroidStudioで追加する場合

モジュールをGradleProjectとして追加

![スクリーンショット 2016-07-03 18.11.31.png](https://qiita-image-store.s3.amazonaws.com/0/29099/0dde0cdc-3196-1715-dc61-7e3ebc06dabc.png)

![スクリーンショット 2016-07-03 18.11.44.png](https://qiita-image-store.s3.amazonaws.com/0/29099/cc3f90df-a5dd-0daa-070b-9a9a6aac6ad6.png)

![スクリーンショット 2016-07-03 18.11.50.png](https://qiita-image-store.s3.amazonaws.com/0/29099/985cf2d0-2513-3f70-4415-335442385600.png)

build.gradleがあるフォルダは、GradleProjectとして認識されるので、
LobiCoreから順番に追加する

![スクリーンショット 2016-07-03 18.12.10.png](https://qiita-image-store.s3.amazonaws.com/0/29099/d6eb6920-9b69-d010-e580-2cf3bc35d1f7.png)

LobiRanking登録時に以下のように出ますが、私の環境ではそのままいけました。

![スクリーンショット 2016-07-03 18.17.23.png](https://qiita-image-store.s3.amazonaws.com/0/29099/35c1c04d-d36a-9dd3-0327-7e6b473747e9.png)


# クライアントIDの設定

[AndroidManifestの編集](https://github.com/kayac/Lobi/wiki/Android-Implement-Native-SDK)については、
Android/LobiCore/AndroidManifest.xml を直接編集するので大丈夫でした。