为什么要打包成AAR
- 减少接入SDK的工作量
- 便于扩展渠道
- 与外部对接更安全,无需提供源码
步骤
构建
- 打开CocosCreator,打开构建面板,选择Android平台,配置好
Target Api Level即可,如下图
- 构建完后,用AndroidStudio打开工程,目录如下,我们只需要关注
app目录
修改Module的build.gradle
build.gradle至少有两个,一个是 Project 的gradle文件,其他的都是 Module 的gradle文件,我们此次要修改的,就是app目录下的。
- 将工程变成模块,当然可以给个开关
// 开关
boolean isLib = false
if (isLib) {
apply plugin: 'com.android.library'
} else {
apply plugin: 'com.android.application'
}
- 去掉applicationId
if (!isLib) {
applicationId "org.cocos2d.demo"
}
- 取消资源压缩,将
shrinkResources true语句删除 - 拷贝资源代码修改
if (isLib) {
android.libraryVariants.all { variant ->
// 直接拷贝原有的代码块
}
} else {
android.applicationVariants.all { variant ->
// 直接拷贝原有的代码块
}
}
至此,build.gradle修改完毕
打包
- 找到
Gradle栏目中对应的module依次查找到Tasks——>build——>assembleRelease,点击assembleRelease。
- 执行结束,在module目录下的
build/outputs/aar/下找到生成的aar文件即可。
- 因为工程本身还依赖了
libcocos2dx,所以该模块也需要打包成aar,按照上一步选择libcocos2dx模块执行assembleRelease。
如果主工程已经附带了引擎自带的jar包,可以修改如下语句,请注意,如果是jsb-link模式,这样修改,是修改的全局的,在其它工程记得修改回来。
dependencies {
//implementation fileTree(include: ['*.jar'], dir: '../java/libs')
compileOnly fileTree(include: ['*.jar'], dir: '../java/libs')
}
该aar文件如果是jsb-link模式,则在引擎目录下,否则在工程目录下的 frameworks/cocos2d-x/cocos/platform/android/libcocos2dx/build/outputs/aar 中
最后,将两个aar提供给需求方,即可。
END
更多文章,可以关注我的公众号

或者访问我的个人博客
如果文章对您有所帮助,可以给个赞助






