Cocos2d-x 3.16 Android Studio构建报错:找不到bitwiseNegate()方法
解决Cocos2d-x 3.16 Android Studio构建时
bitwiseNegate()找不到的错误 这个报错本质是Cocos2d-x 3.16的默认Gradle配置和较新的Android Gradle插件版本不兼容导致的——bitwiseNegate()方法是旧版Gradle API里的语法,在新版插件里已经被移除或调整了,下面是具体的解决步骤:
1. 匹配兼容的Android Gradle插件版本
打开项目根目录的build.gradle文件,找到dependencies块中的Android Gradle插件依赖,把版本改成和Cocos2d-x 3.16适配的稳定版本,比如3.2.1或者2.3.3:
buildscript { dependencies { // 替换成兼容版本,比如3.2.1 classpath 'com.android.tools.build:gradle:3.2.1' } }
2. 对应调整Gradle Wrapper版本
Android Gradle插件和Gradle本体是有严格版本对应关系的,比如插件3.2.1需要搭配Gradle 4.6。打开gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
3. 修复libcocos2dx模块的build.gradle代码
如果上面的版本调整后还是报错,检查libcocos2dx模块build.gradle的第14行,大概率是用了旧版Gradle的取反语法(比如!file('src'))。把这种写法改成新版Gradle支持的判断逻辑:
错误写法示例(第14行附近):
sourceSets.main.java.srcDirs = !file('src')
改成兼容写法:
sourceSets.main.java.srcDirs = file('src').exists() ? [] : ['src']
额外注意
Cocos2d-x 3.16是比较旧的版本,尽量不要随便升级Gradle或Android Gradle插件到最新版,否则会遇到更多API不兼容的问题。如果需要适配新版本工具链,可能需要手动修改更多Cocos2d-x自带的Gradle配置文件。
内容的提问来源于stack exchange,提问作者pankaj yadav
相关产品推荐
相关产品推荐

