Есть ли способ получить исходный код из файла APK?

Вот ответ: Проблемы с сортировкой JTable целых значений

Идея состоит в том, чтобы определить классы для столбцов.

myTable.setModel(new DefaultTableModel(Object[][] tableData, String[] columnsNames){
    Class[] types = { Boolean.class, Boolean.class, String.class, String.class };

    @Override
    public Class getColumnClass(int columnIndex) {
        return this.types[columnIndex];
    }
});

1181
задан Jeroen Vannevel 4 April 2014 в 16:20
поделиться

3 ответа

В то время как вы можете декомпилировать свой APK, вы, скорее всего, столкнетесь с одной большой проблемой:

он не вернет код, который вы написали. Вместо этого он вернет все, что встроил компилятор, с переменными со случайными именами, а также с функциями со случайными именами. Попытка декомпилировать и восстановить его в код, который у вас был, может занять значительно больше времени, чем начинать заново.

К сожалению, подобные вещи убили много проектов.
В будущем я настоятельно рекомендую изучить систему контроля версий, такую ​​как CVS, SVN и git и т. д.

, а также способы ее резервного копирования.

107
ответ дан 19 December 2019 в 20:14
поделиться

apktool будет работать. Вам даже не нужно знать хранилище ключей, чтобы извлечь исходный код (что немного пугает). Главный минус в том, что исходник представлен в формате Smali вместо Java. Однако другие файлы, такие как значок и main.xml, прекрасно справляются с задачей, и, возможно, стоит потратить время хотя бы на их восстановление. В конечном счете, вам, скорее всего, придется переписать код Java с нуля.

Вы можете найти apktool здесь. Просто скачайте apktool и соответствующий помощник (для Windows, Linux или Mac OS). Я рекомендую использовать для их распаковки такой инструмент, как 7-zip.

20
ответ дан 19 December 2019 в 20:14
поделиться

apktool — лучшее, что вы можете попробовать. Я сохранил с ним некоторый xml, но, честно говоря, я не знаю, как он будет работать с кодом .java.

Я бы порекомендовал вам иметь репозиторий кода, даже если вы единственный программист. Я использую Project Locker для своих проектов. Это дает вам бесплатные репозитории svn и git.

27
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: