Конвертировать файл.Java в файл.Smali
Я выполнил обратное проектирование приложения Android с APKTool и получил файлы.Smali в качестве исходного кода. Я преобразовал файлы.Smali с приложением в файлы.Java. Я смог успешно отредактировать файлы.Java, но теперь я хочу преобразовать их обратно в.Smali, чтобы я мог перекомпилировать приложение с новыми файлами.Smali. Когда я просто оставляю файл.Java, он не перекомпилирует его и выдает некоторые ошибки. Я не мог найти что-нибудь о компиляции.Java для.Smali в Интернете, поэтому я надеюсь, что вы, ребята, могли бы помочь мне.
Заранее спасибо,
2 ответа
Вы можете скомпилировать классы Java с помощью обычного компилятора Java, а затем использовать утилиту Android'dx', чтобы преобразовать скомпилированные файлы.class в файл dex. А затем запустите baksmali для файла dex, чтобы получить файлы smali.
Например, предположим, у вас есть следующий код в файле Java с именем "HelloWorld.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
Попробуйте java2smali: https://github.com/ollide/intellij-java2smali
Это приложение, используемое для преобразования Java в Smali.