将 .Java 文件转换为 .Smali 文件

Convert .Java file to .Smali file

我使用 APKTool 对 Android 应用程序进行了逆向工程,并获得了 .Smali 文件作为源代码输出。我将带有应用程序的 .Smali 文件转换为 .Java 文件。我能够成功编辑 .Java 文件,但现在我想将它们转换回 .Smali,以便我可以使用新的 .Smali 文件重新编译应用程序。当我将 .Java 文件留在那里时,它不会重新编译它并给出一些错误。我在网上找不到任何关于将 .Java 编译成 .Smali 的信息,所以我希望你们能帮助我。

提前致谢。

试试 java2smali: https://github.com/ollide/intellij-java2smali

这是一个用来将Java转换成Smali的应用程序。

您可以使用普通的 java 编译器编译 java classes,然后使用 Android 的 'dx' 实用程序将编译后的文件转换为.class 文件到 dex 文件。然后 运行 dex 文件上的 baksmali 生成 smali 文件。

例如,假设您在名为“HelloWorld.java”的 java 文件中有以下代码:

public class HelloWorld {
    public static void main(String[] args) {
         System.out.println("Hello World!");
    }
}

转换为smali:

javac HelloWorld.java
dx --dex --output=classes.dex HelloWorld.class
baksmali d classes.dex