热更新介绍
- 什么是热更新?
客户端启动时,主动请求服务端检查版本号,并更新资源到本地。
- 应用场景:
- 情况一:客户端已经发布了,但突然发现有个比较严重的bug需要修复。这时需要更新客户端的代码(Lua代码)。
- 情况二:情人节到了,需要搞个活动,在客户端中营造一个节日氛围。这时,需要更新客户端资源或增加一些功能。
- 好处:
不需要重新打包和提交应用到市场等待审核。
Android与Lua相互通信
参考资料:
1. 在Android项目中使用Lua,需要两个步骤:
- 加载Lua脚本解析引擎
- 以Native API方式调用引擎接口
直接以JNI方式调用Lua解析引擎的接口十分麻烦,开源项目LuaJava(https://github.com/mkottman/AndroLua )对这些JNI接口进行了很好的封装,它是一个包含了LuaJava的Android平台的Lua解析器,它提供一系列映射到Lua C实现函数的Java接口。
2. 需注意的地方:
- .lua文件可存放在assets、raw文件夹;
- 提供给lua的回调必须是public,否则lua调不到;
- “.”是用来调用类的方法或变量(静态方法),而“:”是用来调用对象的方法。
3. 在Lua中调用Java类:
- newInstance(className, …) // 可以根据类名创建一个Java类,同时返回一个lua变量与Java类对应
-- 启动手机设置
function launchSetting