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

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

先感谢您,

最佳答案
您可以使用普通的java编译器编译java类,然后使用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 classes.dex

转载注明原文:将.Java文件转换为.Smali文件 - 代码日志