一、环境
cocos cocos2d-x-3.16
AndroidStudio3.41
ndk-r14b
sdk25 28 --测了这两个版本都是可以滴
二、打开项目修改ndk版本
使用AndroidStudio打开 "项目目录/frameworks/runtime-src/proj.android-studio" ,如果报ndk或jni相关错误,修改ndk版本,打开File/ProjectStructure窗口,选择SDK Location,重新设置Android NDK location的目录为ndk-r14b的目录。ndk是一个工具用来帮助android访问本地c++代码的,cocos2d-x-3.16使用ndk14版本亲测合适。
三、修改gradle中的目标abi和sdk版本
如果AndroidStudio提示更新gradle的版本,尽量选择不更新,可能会出问题。选择Project视图,眼光落在proj.android-studio目录下。打开gradle.properties,指定cpu架构和sdk版本信息
PROP_COMPILE_SDK_VERSION=25 --编译的sdk版本 PROP_MIN_SDK_VERSION=10 --运行最低的sdk版本 PROP_TARGET_SDK_VERSION=25 --最优最适合的sdk版本 PROP_APP_PLATFORM=10 PROP_APP_ABI=x86:armeabi --指定cpu架构
打开app/Application.mk,指定cup架构
APP_ABI := x86:armeabi
四、lua代码的加密和解密
加密可以在windows下使用cocos luacompile命令编译成luac脚本,可以在你的项目目录中,新建一个.bat文件,编写为:
cocos luacompile -s D:\projects\HelloLua\simulator\win32\src -d D:\projects\HelloLua\src -e -k keykey -b xixixixixixi --disable-compile # -s指定的是原lua目录 # -d指定的是编译到的目标目录 # -e表示加密 # -k指定加密的key值 # -b指定加密的密钥
解密的话需要修改c++代码,打开frameworks/runtime-src/Classes/AppDelegate.cpp,找到applicationDidFinishLaunching方法里面的一行代码,替换为上面加密的key值和密钥
stack->setXXTEAKeyAndSign("keykey", strlen("keykey"), "xixixixixixi", strlen("xixixixixixi"));
五、打包
查看Build菜单下的子菜单,点击生成apk就行了