Android、Lua和SMALI语言之间有什么关系?

我注意到一些安卓应用包含Lua脚本和字节码。

我认为安卓可以在Java Davlik字节码或本地调用中使用Lua。

  • 它如何在运行时加载lua脚本(.lua文件)和lua字节码(.o)?
  • 为什么apktool反编译为SMALI而不是.class,如果DALVIK是Java类型的VM,且编码是基于Java?

有任何提示吗?

点赞
用户531021
用户531021

Android运行dalvik字节码,而smali是dalvik字节码的一种“汇编”语言。Android应用程序通常用java(或其他jvm)语言编写,并像往常一样编译为.class文件。然后,这些class文件通过“dx”实用程序转换为dalvik字节码,它是Android SDK的一部分。“dx”的输出(通常)是一个包含所有应用程序类的单个dex文件。

Lua完全没有关系。为了能够加载Lua脚本/字节码,Android应用程序必须包含自己的Lua解释器/虚拟机。

2015-03-14 17:19:11