cocos creator 3.5 3.0 编译安卓时遇到的问题
作者:互联网
##先说下我这边的环境
win10
java 17 和java8
cocos creator 3.5
CocosDashboard 1.2
ndk 21
android sdk 27
##后续介绍中 cocos creator 将用ccc代替
我是在3.5中创建的空项目,进去后创建一个场景后,开始测试生成APK
中间出现了很多问题
### 第一个问题
```
2022-5-21 08:15-log: [runCmd E:\AAAA_CODE\cocopro\mudgame\build\android\proj\gradlew.bat - error]
- What went wrong:
Could not open settings generic class cache for settings file ‘E:\AAAA_CODE\cocopro\mudgame\build\android\proj\settings.gradle’ (C:\Users\mike.gradle\caches\6.5.1\scripts\9jndo9ezhhem8yoxe7exzuwxc).
BUG! exception in phase ‘semantic analysis’ in source unit ‘BuildScript’ Unsupported class file major version 61
```
感觉这个问题可能是gradlew版本的问题引起,于是启动AS导入cocos creator 构建的安卓项目 这样做是让AS自动去根据cococreator 构建的安卓项目中的gradlew的版本自动下载,这样操作后,问题解决
### 第二个问题
NDK路径的问题
这个图中的NDK路径不对,导致编译时一直找不到NDK。。。
解决方法
注意这个地址是可以在CCC中设置的,我故意在这儿设置的NDK地址。。反正解决了。。。 不过最好在CCC中设置
另外,我在这儿设置后 我把local.propertiesNDK路径注释掉了,不注释掉编译会报错
### 第三个问题
由于我之前的环境变量JAVA_HOME 配置的是17,导致在cocos creator中生成APK时一直报
```
- What went wrong:
Execution failed for task ‘:libcocos:compileReleaseJavaWithJavac’.
java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x91d430e) cannot access class com.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x91d430e
- Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
```
以及这样的
```
module java.base does not “opens java.util
```
看到报错信息中module 就知道是版本高了,因为高版本的JAVA才支持module 咋办呢?我找到了以下文件,这个文件只有在构建过安卓项目之后才会有的
强行设置JAVA的环境变量,这儿我设置成JAVA8的
对于我来说,注意是对于我目前的环境来说 因为有java17和java8,所以如果重新构建安卓项目,这个批处理又重新创建了,所以我每次重新构建都要去设置这个环境变量,先不管他。。
经过上面的设置后,成功生成APK。不过生成的时间比较长,可能还需要对引擎进行裁剪。。。
标签:cocos,java,creator,--,安卓时,module,设置 来源: https://www.cnblogs.com/cfas/p/16294639.html