cocos2d-x v3 android版ビルド時のエラーまとめ


## getCurPageIndex()

```
                                                                         ^
jni/../../../Classes/SceneCollection.cpp:126:66: warning: 'ssize_t cocos2d::ui::PageView::getCurPageIndex() const' is deprecated (declared at /Users/hogehogehoge/apphoge/proj.android-studio/../cocos2d/cocos/3d/../ui/UIPageView.h:199) [-Wdeprecated-declarations]
                 pageView->scrollToItem(pageView->pageView->scrollToItem(pageView->getCurPageIndex() + 1);() - 1);

```

getCurPageIndex() が、ssize_tという型で、
「getCurPageIndex is depracated」というエラーがでる

「get **Cur** PageIndex」ではなく、
「get **Current** PageIndex」を使うと解消される（泣）

## picojson.h  localeconv()->decimal_point

```

jni/../../../Classes/picojson.h: In function 'std::string picojson::_parse_number(picojson::input<Iter>&)':
jni/../../../Classes/picojson.h:785:32: error: 'struct lconv' has no member named 'decimal_point'
       num_str += localeconv()->decimal_point;

```

これは、picojsonというライブラリのエラーで、下記がとても参考になりました！（非常にわかりやすく書いてあります！）
http://albatrus.com/main/cocos2d/6237

## import <〜〜.h> fatal error: 〜〜.h: No such file or directory

```
jni/../../../Classes/AppDelegate.cpp:17:2: warning: #import is a deprecated GCC extension [-Wdeprecated]
 #import <Firebase.h>
  ^
jni/../../../Classes/AppDelegate.cpp:17:21: fatal error: Firebase.h: No such file or directory
 #import <Firebase.h>
                     ^
compilation terminated.
make: *** [obj/local/armeabi/objs-debug/MyGame_shared/__/__/__/Classes/AppDelegate.o] Error 1

```

ios専用のソースでFirebaseを初期化するようにすれば回避できました。
fabricなど他のSDKも同じようなエラーであれば、ios/〜フォルダのソースで対応する。


## Could not find method build() for arguments [null] on project 

```
* What went wrong:
A problem occurred evaluating project ':libcocos2dx'.
> Could not find method build() for arguments [null] on project ':libcocos2dx' of type org.gradle.api.Project.

```
プロジェクトファイル/build.gradleで、

```

classpath 'com.android.tools.build:gradle:2.1.2'

```

が指定し忘れている


## com.android.build.gradle.internal.AndroidAsciiReportRenderer.setOutp

```

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gps:androidDependencies'.
> com.android.build.gradle.internal.AndroidAsciiReportRenderer.setOutput(Lorg/gradle/logging/StyledTextOutput;)V


```

参考：https://discuss.gradle.org/t/gradle-2-14-rc-3-breaks-androiddependencies-task-provided-by-android-plugin/17849

build.gradleの
//classpath 'com.android.tools.build:gradle:2.1.2'
↓
classpath 'com.android.tools.build:gradle:2.2.2'
にしたら改善した。

## User supplied default proguard base extension name is unsupported. Valid values are:

```
* What went wrong:
A problem occurred evaluating project ':hgoeapp'.
> User supplied default proguard base extension name is unsupported. Valid values are: [proguard-android.txt, proguard-android-optimize.txt]

```

proguard-android.txtになっていない。
proguard-project.txtになってしまっている等。


## java.util.zip.ZipException: duplicate entry: io/fabric/sdk/〜

```

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':puzzlelife:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: io/fabric/sdk/android/ActivityLifecycleManager$ActivityLifecycleCallbacksWrapper$1.class

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

```

ある勇者から教えていただきましたｗ

```

compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true; exclude module: 'fabric'
    }

```

これ　exlude module: 'fabric'

sdkboxとfabricで衝突していたようです。



## java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelperKitkat$2.class

```

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':puzzlelife:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelperKitkat$2.class

```


下記２つのandroid-support-v4.jarを削除したら改善したり。。

?? cocos2d/cocos/platform/android/java/libs/android-support-v4.jar
?? cocos2d/cocos/platform/android/libcocos2dx/libs/android-support-v4.jar

または、
```
compile('com.twitter.sdk.android:twitter:2.3.2@aar') {　
```
を
```
compile('com.twitter.sdk.android:twitter:+@aar') {
```
にしたら改善したり。