Случайно изтрих проекта си от Eclipse и ми остана само файлът APK, който прехвърлих на телефона си. Има ли начин да обърна процеса на експортиране на приложение в .apk файл, за да мога да си върна проекта?
Не съвсем. Съществуват редица комплекти за дезасемблиране/декомпилиране на dex като smali или dex2jar, които генерират получетим изход (в случая с dex2jar можете да получите java код чрез използване на нещо като JD-GUI, но процесът не е перфектен и е много малко вероятно да успеете да пресъздадете на 100% изходния си код. Въпреки това, той може да ви даде възможност да започнете да възстановявате дървото на изходните кодове.
Да, можете да възстановите проекта си. Просто преименувайте файла yourproject.apk на yourproject.zip и ще получите всички файлове в този ZIP файл. Променяме разширението на файла от .apk на .zip. От този ZIP файл извлечете файла classes.dex и го декомпилирайте по следния начин.
Първо, имате нужда от инструмент за извличане на всички (компилирани) класове на DEX в JAR.
Има един инструмент, наречен dex2jar, който е направен от китайски студент.
След това можете да използвате JD-GUI, за да декомпилирате класовете в JAR до изходен код. Полученият изходен код би трябвало да е доста четлив, тъй като dex2jar прилага някои оптимизации.
Има два полезни инструмента, които генерират Java код (груб, но достатъчно добър) от непознат APK файл.
Изтеглете инструмента dex2jar от dex2jar.
Използвайте инструмента, за да преобразувате APK файла в JAR:
След като генерирате файла JAR, използвайте JD-GUI, за да отворите файла JAR. Ще видите Java файловете.
Изходът ще бъде подобен на:
Не съвсем. Съществуват редица комплекти за дезасемблиране/декомпилиране на dex като smali или dex2jar, които генерират получетим изход (в случая с dex2jar можете да получите java код чрез използване на нещо като JD-GUI, но процесът не е перфектен и е много малко вероятно да успеете да пресъздадете на 100% изходния си код. Въпреки това, той може да ви даде възможност да започнете да възстановявате дървото на изходните кодове.
Да, можете да възстановите проекта си. Просто преименувайте файла
yourproject.apk
наyourproject.zip
и ще получите всички файлове в този ZIP файл. Променяме разширението на файла от .apk на .zip. От този ZIP файл извлечете файлаclasses.dex
и го декомпилирайте по следния начин.Първо, имате нужда от инструмент за извличане на всички (компилирани) класове на DEX в JAR. Има един инструмент, наречен dex2jar, който е направен от китайски студент.
След това можете да използвате JD-GUI, за да декомпилирате класовете в JAR до изходен код. Полученият изходен код би трябвало да е доста четлив, тъй като dex2jar прилага някои оптимизации.