如何从APK(由Corona生成的APK)中提取Lua文件

3

我使用corona创建了一个应用,并在我的手机上安装了它。它可以正常运行,但不知何故,我错过了原始文件(我的系统崩溃了,我丢失了我的代码)。

但是我在我的手机上有apk文件。那么有没有办法从apk文件中导出lua文件。

那个代码是通过我的corona开发者帐户开发的。


5
根据Wikipedia的介绍,apk文件实际上就是一个zip文件,将其重命名为 foo.zip 可能可以打开它并恢复其内容。然而,如果Corona预编译了Lua脚本,那么你可能就没那么幸运了。 - lhf
1
@kabir 让这成为一个备份你东西的教训吧? ;) - greatwolf
1
@Kabir 永远记住聪明程序员的座右铭 - “数据只有两种类型:你备份过的和你还没丢失的!”;-) - Lorenzo Donati support Ukraine
@Kabir 还有一个云服务器用于备份。 - NaviRamyle
2个回答

1
您可以将.apk文件转换为.zip文件,但是这样做时,您会发现所有的lua文件都已经被编译过了,因此无法通过apk访问您的lua文件。我曾经遇到过类似的问题,发现无法恢复我的lua文件。
然后,您可以尝试使用luadec来反编译lua文件。如果您使用的是5.1版本,则可以使用https://github.com/sztupy/luadec51/wiki。请注意,根据您的脚本编写方式,不是所有的lua文件都会编译成正确的文本,而且肯定不是所有的lua文件都能正确地反编译。您需要逐个检查每个lua文件以查找反编译错误(它们在反编译时有注释)。
在将来,请考虑将所有项目文件保存在Dropbox目录中,并使用版本控制。如果您使用托管的版本控制(Assembla、GitHub、Bitbucket),那就更好了。这意味着您可以得到本地副本,在Dropbox中有多个副本,还有托管的副本供您服务。
祝你好运!

0
@Kabir,你可以将你的.apk文件转换成.zip文件,但是当你这样做时,你会发现所有的lua文件已经被编译了,所以没有办法通过apk访问你的lua文件。我曾经遇到过类似的问题,发现无法恢复我的lua文件。
--- Moksh Jawa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接