cocosCreator 之 3.8打包注意事项

版本: v3.8.0

环境: Mac


介绍

曾编写过一篇文章: cocosCreator笔记 之 Android打包 使用的版本是: v3.4.0

在官方发布最新版本3.8.0后,就编写了Demo尝试打包发布下,结果一路的报错问题。

写此博客,用于将问题及升级流程汇总记录下。


升级

3.8.0版本的Android打包,需要对一些工具升级:

  • JDK版本需要升级到17, JDK17 下载成功后,通过java -version来验证下
  • AndroidStudio需要使用到 Android Studio 2022.2.1, [Android Studio]
  • AnroidStudio下载成功后, 关于NDK需要的版本:

cocosCreator 之 3.8打包注意事项_第1张图片

版本在: 18.1 ~ 21.4之间,配置NDK的时候,将目录设定到21.4, 比如: ../ndk/21.4.7075529

  • 升级Gradle版本,在AndroidStudio打包的时候,会进行自动升级,到8.0.2版本。

    如果想自己升级的话,Gradle distributions 下载 gradle-8.0.2-bin.zip

    下载很慢, 请慢慢等待。


配置

在3.4版本Android包构建后, 会修改: ../Project/build/android/proj/build.gradle

buildscript {
    repositories {
       // 将原有的镜像修改为阿里云的镜像
			 // google()
	     // jcenter()
        maven { url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/repository/jcenter'}
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public'}
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

// 如果没有,新增下
allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/repository/jcenter'}
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public'}
    }
}
apply from: NATIVE_DIR +"/build.gradle"

是因为镜像为国外,导致打包会报错。

但是在3.8版本后,注意: 不要修改 ,且保持版本: 8.0.2

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.0.2'
    }
}

apply from: NATIVE_DIR +"/build.gradle"

如果添加修改源的话,会有报错:

Execution failed for task ‘:libcocos:parseReleaseLocalResources’.

如果gradle版本非8.0.2的话,会提示类似错误:

at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
	at org.gradle.wrapper.Install.createDist(Install.java:47)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)

java.util.zip.ZipException: error in opening zip file
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.(ZipFile.java:219)
	at java.util.zip.ZipFile.(ZipFile.java:149)
	at java.util.zip.ZipFile.(ZipFile.java:163)
	at org.gradle.wrapper.Install.unzip(Install.java:160)
	at org.gradle.wrapper.Install.access$400(Install.java:29)

另外注意一个问题:

../native/engine/android/app/build.gradle 中的修改 applicationId 为 namespace

     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
     buildToolsVersion PROP_BUILD_TOOLS_VERSION
     ndkPath PROP_NDK_PATH
+    namespace APPLICATION_ID

     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
@@ -17,7 +18,6 @@ android {
     }

     defaultConfig {
-        applicationId APPLICATION_ID
         minSdkVersion PROP_MIN_SDK_VERSION
         targetSdkVersion PROP_TARGET_SDK_VERSION
         versionCode 1

尤其下面标红的配置要检测下,是否已经去掉。

如果单纯的使用3.8.0版本打包, 应该不需要此处配置的问题, 应该是没有的, 但是依然存在。

本问题已反馈给官方,看他们的反馈吧: 论坛反馈


微信小游戏打包

注意下appId的设定,不要使用官方自己的测试ID, 请使用自己的小游戏appId

否则,在打包完成,通过微信开发者工具运行的时候,会提示:

未找到app.json文件

该问题的原因是appId使用不同,打开默认的程序设置也不同, 比如游戏是game.js

你可能感兴趣的:(cocosCreator,cocos2d)