打包apk并對lua文件加密,首先要有兩個值
一個是簽名,如果文件開頭含有這個簽名,那么表示這個文件是要加密的
一個是密碼,也就是秘鑰了,根據(jù)這個秘鑰去生成加密后的文件
這兩個值都是字符串,長度都是16個字符,將其加在如下這個函數(shù)中
bool AppDelegate::applicationDidFinishLaunching()
{
// set default FPS
Director * director = Director::getInstance();
director->setAnimationInterval(1.0 / 50.0f);
// register lua module
auto engine = LuaEngine::getInstance();
ScriptEngineManager::getInstance()->setScriptEngine(engine);
lua_State* L = engine->getLuaStack()->getLuaState();
register_all_packages( L );
LuaStack* stack = engine->getLuaStack();
//這里添加------------------
char * key = "你的加密密碼";
char * signature = "你的加密簽名";
stack->setXXTEAKeyAndSign(key, strlen(key), signature, strlen(signature));
//register custom function
//LuaStack* stack = engine->getLuaStack();
//register_custom_function(stack->getLuaState());
Node *node=Node::create();
node->onEnter();
Director::getInstance()->setNotificationNode(node);
//testHttp();
#if (COCOS2D_DEBUG > 0) && (CC_CODE_IDE_DEBUG_SUPPORT > 0)
// NOTE:Please don't remove this call if you want to debug with Cocos Code IDE
auto runtimeEngine = RuntimeEngine::getInstance();
runtimeEngine->addRuntime(RuntimeLuaImpl::create(), kRuntimeEngineLua);
runtimeEngine->start();
#else
if (engine->executeScriptFile("src/main.lua"))
{
return false;
}
#endif
return true;
}
然后調(diào)用這個命令打包apk
cocos compile -p android -m release -j 20 --lua-encrypt --lua-encrypt-key 你的加密密碼 --lua-encrypt-sign 你的加密簽名