Конвертировать файл.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.

Другие вопросы по тегам