我自己测试通过的打包所使用的开发工具和版本
| 开发工具版本 | 测试版本 | 下载 | 前往官网 |
|---|---|---|---|
| CocosCreator | 2.0~2.2 | 直接下载2.2Mac版 | 官网选择其它版本 |
| android-sdk | android-21 | 直接下载android sdk21-5.0 | 选择其他SDK版本 |
| android-ndk | android-ndk-r16-beta1 | 直接下载android ndk-r16-beta1 | 选择其他NDK版本 |
一、链接SDK和NDK
- 选择
偏好设置将下载好的DNK和SDK指定路径,然后保存。
二、配置打包参数
配置
1、游戏名称: 你的项目游戏名
2、发布平台:安卓
3、发布路径: 默认为./build
4、初始化场景: 这儿是选择你APP运行时的第一屏出现的页面场景,如果选错会直接加载到其他页面。
5、参与构建的场景: 只是要参与游戏的页面有关的场景都要选上。
6、模版:default即可
7、包名:你自己的包名
8、选择Target API Level,我之前选择的android-21,你选择你的就可以下载的SDK对应版本就可以了。
9、APP ABI: armeabi-v7aarmeabi-v7a: ARM v7 目前主流版本,第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它。
arm64-v8a: 64位支持,第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
x86 架构的手机、平板、模拟器用。10、密钥库: 发布正式版,请自行生成密钥。
11、设备方向: 按照项目需求来。

然后构建,等构建完成,选择编译等待编译完成,编译完成过后一般在路径下的
jsb-default\publish\android下。如果前面编译失败的情况下,直接使用Android Studio编译打包
使用
Android Studio打开build->jsb-default->frameworks->runtime-src->proj.android-studio如果遇到以下报错问题:
出现一:Failed to find Platform SDK with path: platforms;android–1 解决: 直接在gradle.properties文件中
PROP_COMPILE_SDK_VERSION和PROP_TARGET_SDK_VERSION修改成已经下载好的SDK版本,我的这儿是 21,然后在Try Again。1
2
3
4
5
6Android SDK version that will be used as the compile project
PROP_COMPILE_SDK_VERSION=-1 改成你的SDK版本
Android SDK version that will be used as the earliest version of android this application can run on
PROP_MIN_SDK_VERSION=16
Android SDK version that will be used as the latest version of android this application has been tested on
PROP_TARGET_SDK_VERSION=-1 改成你的SDK版本出现二: Android resource linking failed Output: ~/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml:29: error: attribute android:usesCleartextTraffic not found.error: failed processing manifest.
解决: 直接在你的项目名称下面的manifests文件夹下AndroidManifest.xml,去掉android:usesCleartextTraffic="true"android:usesCleartextTraffic 指示应用程序是否打算使用明文网络流量,例如明文HTTP。目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。当属性设置为“ false”时,平台组件(如HTTP和FTP堆栈,DownloadManager和MediaPlayer)将拒绝应用程序使用明文流量的请求。避免明文通信的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听所传输的数据,并且还可以对其进行修改而不会被检测到。
我的SDK版本是Android21,所以去掉.
这儿如果编译过慢可以gradle配置一下放在本地,就不会去网络加载了。前往下载各个gradle版本
然后设置gradle-wrapper.propertiesdistributionUrl=https://services.gradle.org/distributions/gradle-4.10.3-all.zip至于配置签名这儿就不多说了.
给一个传送门Android如何生成签名文件
要耐心等待一会儿,就编译成功了
1 | Gradle build finished in 8 s 291 ms |
