1. 升级SDK
当我们升级cocos2d/cocos/platform/android/libcocos2dx的SDK版本的时候有可能会发生以下错误
.../Cocos2dxDownloader.java:9: error: package org.apache.http does not exist
这是因为在当Aandroid的SDK高于22的时候Apache的HttpClient已经被谷歌废弃掉了。
解决办法有2种:
在
/cocos2d/cocos/platform/android/libcocos2dx/build.gradle文件里面加入以下代码指定使用废弃的http安装包android { useLibrary 'org.apache.http.legacy' }- 手动将对应版本的SDK的
http包文件android-sdk/platforms/android-28/optional/org.apache.http.legacy.jar复制到项目的/cocos2d/cocos/platform/android/java/libs目录下。
2. 升级gradle
我们在使用新的SDK的时候有时需要升级对应的gradle,例如我们使用新版本的Admob的时候
compile 'com.google.firebase:firebase-ads:15.0.0'
必须使用新的gradle才能找到对应的包,在proj.android-studio/gradle/wrapper/gradle-wrapper.properties的distributionUrl字段设置使用的gradle版本。
然后在proj.android-studio/build.gradle里面设置Gradle插件的的版本。
在虚拟机里面升级gradle后有时候会导致编译失败。在xp系统里面无法使用新的gradle