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