zoukankan      html  css  js  c++  java
  • CocosCreator1.x配置打包Android App Bundle

    准备工作

    下载并安装 Android Studio 4.1.0 及以上版本,下载地址:Android Studio

    注意事项:

    • 若游戏项目原来使用 Android Studio 生成用于生成测试的 APK 文件或 APK 发布文件,就必须将 Android Studio 升级至 4.1.0 及以上版本。
    • Android Studio 提供免安装版本,并且在同一台 PC 机上可同时使用多个不同版本的 Android Studio ,因此研发不需要担心 Android Studio 升级和多版本共存问题。

    配置 Android 工程

    具体配置可参考:针对原生代码或 Java 代码构建 ,按步骤进行配置。

    注意事项:

    • Android Gradle 插件的版本更新为 4.0.0 或更高版本的同时,还需要使用对应的 Gradle 版本,查看 Android Gradle 插件与 Gradle 版本对应关系请见 Gradle
    • 可不导入 Play Core 库。由于 Cocos2d-x 加载 asset 资源是在 C++ 代码中,并且由 Cocos2d-x 的游戏框架完成,因此不需要导入 Play Core 库。其余步骤请按 Google 文档进行。
    • 若游戏有自动化构建,需要用脚本构建 AAB,可以参考构建 App Bundle

    示例

     我的CocosCreator版本是1.8.2,具体实现构建AAB资源思路是:一个工程打包libcocos2djs.so(以下简称原工程),然后将打包的libcocos2djs.so放在另一个工程中(一下简称新工程,这个工程升级了Gradle版本为4.2.0,因为原工程Gradle版本是3.3.2,升级Gradle之后引擎编译失败)

    原工程AS打包环境:android-ndk-r14b

     新工程升级Gradle后AS打包环境:android-ndk-r14b

     1.将原工程打包的libcocos2djs.so库拷贝到新工程的lib文件夹下

    原工程打包成功后生成的libcocos2djs.so文件路径:build/intermediates/ndkBuild

     将对应架构的so库拷贝到新工程中

     2.修改新工程gradle.properties(注意PROP_NDK_MODE=none 跳过编译cocos引擎)

     3.修改新工程build.gradle(CocosCreator路径根据情况修改)

    4.修改新工程Application.mk(APP_STL := c++_static)

     5.在项目的顶级目录中,创建以 Asset Pack 为名称的 Module,如 Assets_mutidex (Asset Pack 名称必须以字母开头,并且只能包含字母、数字和下划线)

     6.修改Asset Pack目录下的build.gradle文件(如果不存在则创建一个)内容如下

    // In the asset pack’s build.gradle file:
    apply plugin: 'com.android.asset-pack'
    
    assetPack {
        packName = "Assets_mutidex" // Directory name for the asset pack
        dynamicDelivery {
            deliveryType = "install-time"
        }
    }

     7.在项目的应用 build.gradle 文件中,添加项目中每个 Asset Pack 的名称,如下所示:

     8.在项目的 settings.gradle 文件中,添加项目中的所有 Asset Pack,如下所示:

     9.在 Asset Pack 目录中,创建以下子目录:src/main/assets,将需要走AAB的游戏资源放到此路径下(需要注意的是游戏base路径和pack路径不能有重复路径的文件)

    10. 执行到此步骤 Android 工程已完成,还需加载 installTime 的 APK 文件才能正常运行游戏,添加Asset Pack搜索路径

    修改AppActivity.java

     修改启动运行的main.js

    打包运行和测试

    经过以上的步骤后可以在 Android Studio 中生成 AAB 文件,接着可使用 bundletool 工具 安装到真机进行测试

     将生成的aab文件用bundletool工具生成apks

    java -jar bundletool.jar build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
    --ks=/MyApp/keystore.jks
    --ks-pass=file:/MyApp/keystore.pwd
    --ks-key-alias=MyKeyAlias
    --key-pass=file:/MyApp/key.pwd

    例如:

     将APK部署到连接的设备

    bundletool install-apks --apks=/MyApp/my_app.apks

  • 相关阅读:
    [LeetCode][JavaScript]Combination Sum II
    [LeetCode][JavaScript]Generate Parentheses
    [LeetCode][JavaScript]Contains Duplicate
    [LeetCode][JavaScript]Regular Expression Matching
    [LeetCode][JavaScript]Combination Sum
    [LeetCode][JavaScript]Two Sum
    Windows Live Writer的Markdown插件MarkdownInLiveWriter支持语法高亮了
    各种Markdown处理器的列表
    用ChooseALicense帮自己选一个开源license,然后用AddALicense给自己的github自动加上license文件
    遇到奇怪的C#/C/C++或者Java的bug可以去问问Coverity
  • 原文地址:https://www.cnblogs.com/ring1992/p/14842182.html
Copyright © 2011-2022 走看看