[Unity热更新]tolua# & LuaFramework(十三):导出apk

其实导出apk的步骤很简单,就是:

1.设置AppConst.LuaBundleMode为true。这样就会将lua代码打包成.unity3d

2.点击菜单栏LuaFramework/Build Android Resource。这里注意的是,在Build的时候,StreamingAssets文件夹的东西会先被清空,所以注意好备份


有可能会提示Found plugins with same names and architectures的错误,解决方法就是:

如果是32位Unity编辑器,删掉x86_64目录,如果是64位编辑,删除x86目录即可。


顺便也整理一下相关的知识:

一.打包流程

要打包的就是各种素材以及lua代码。找到Packager.cs的BuildAssetResource方法,开始分析。

1.素材的打包

如果AppConst.ExampleMode为true,那么就会对"Assets/LuaFramework/Examples/Builds/"这个路径下的素材进行打包,打包到StreamingAssets这个目录下。这里我建议不要修改这个值(保持为true),通过系列二的打包工具将素材的路径改了就可以了。

2.lua代码的打包

如果AppConst.LuaBundleMode为true,那么就会对"LuaFramework/lua/"和"LuaFramework/Tolua/Lua/"这两个路径下的lua代码进行打包,打包到StreamingAssets/lua/这个目录下;否则,就是将这两个路径的文件复制到目标目录下。如果要导出apk,那么要将这个值改为true;如果只是在编辑器上测试,可以改为false。


二.AppConst.cs

这个类中的常量十分重要,有必要分析一下。

1.DebugMode

对于LuaManager来说,如果值为true,那么lua代码的加载路径就为"LuaFramework/lua/"和"LuaFramework/Tolua/Lua/"这两个路径(也就是pc上的本地路径),否则为Util.DataPath + "lua"(也就是爪机上的沙盒路径)

2.ExampleMode

上面已经说了

3.UpdateMode

如果为true,则会访问服务端进行下载更新

4.LuaBundleMode

上面已经说了


三.获取android程序的输出

众所周知,在unity编辑器下可以很方便地看到输出信息,但是生成apk后却看不到。其实可以使用一些特殊手段看到的~~

在android的sdk目录下找到tools/monitor.bat,打开,并设置过滤,然后打开app即可。

[Unity热更新]tolua# & LuaFramework(十三):导出apk_第1张图片


四.android程序局域网连接

找到Game.lua,在OnInitOK方法中即可设置地址和端口号。要注意的是如果只是编辑器和exe程序进行连接,那么就无需修改了,如果是app连接,要改一下地址。

在控制面板---网络和Internet---网络和共享中心,点击本地连接---详细信息,其中IPv4地址即为要填写的IP地址。

你可能感兴趣的:(Unity热更新)