Открытие файлов apk онлайн
Содержание:
- Подготовка (конкретный процесс установки ApkTool, dex2jar, JD-GUI)
- Frequently Asked Questions
- Декомпиляция APK онлайн
- Tools to Decompile APK Files
- Собственный набор ПО
- How to Decompile and Recompile APK Files
- IV. .apk decompiler apps for Android
- Преобразование в собственные коды
- ↑ Что такое APK файл?
- Декомпиляция и компиляция apk
- Сборка
- Выбираем подопытного
Подготовка (конкретный процесс установки ApkTool, dex2jar, JD-GUI)
После знакомства с функциями ApkTool, dex2jar и JD-GUI, давайте проделаем некоторую подготовительную работу перед декомпиляцией: сначала нам нужно установить ApkTool.
ApkTool
Скачать ApkTool
Каждый может начать сibotpeaches.github.io/Apktool/ins…Скачайте ApkTool или скачайте то, что я приготовил для всехApkTool、dex2jar、JD-GUI。
Установить ApkTool
- Будут скачаныФайл иДокументы готовы иизменить имя на;
- воляпротивперейти кПод каталогом (можно вывести команду в терминалеЧтобы открыть этот каталог);
- Добавьте исполняемые права к двум указанным выше файлам, то есть введите и выполните в терминале:
- Введите терминалЧтобы узнать, может ли он работать, если нет, вам нужноОткрыть вЩелкните по середине, чтобы запустить apktool.jar;
На этом установка ApkTool завершена, запускаем в терминалеКоманда увидит следующий вывод:
dex2jar
Скачать dex2jar
Каждый может начать сsourceforge.net/projects/de…Загрузите dex2jar или вы можете скачать то, что я приготовил для всехApkTool、dex2jar、JD-GUI. Просто разархивируйте его сразу после загрузки.
Каждый может начать сjd.benow.ca/Загрузите JD-GUI или вы можете скачать то, что я приготовил для всехApkTool、dex2jar、JD-GUI。
Frequently Asked Questions
What is Android Reverse Engineering?
Android reverse engineering is used by developers to understand the working of apps and find out how things work. It is also used for reading another’s code while experimenting with developing new apps.
How Can I Get Source Code From Apk?
Rename Apk from app.apk to app.zip and extract the zip file into a folder. Use JADX tool to read the source code, present in classes.dex file.
How Do I Decompile An App?
In order to decompile an App, you need to install an APK extractor on your Android phone. Plus, you would also need Android SDK, dex3jar, and JD_GUI for this purpose.
Декомпиляция APK онлайн
- Предисловие
- Что такое декомпиляция
- Декомпилятор APK файлов онлайн
- Онлайн сервис APK Decompilers
- Онлайн сервис Javadecompilers
- Онлайн сервис APK-Deguard
- Выводы
Декомпилятор пытается перевести скомпилированный бинарный файл обратно в некое подобие исходного кода. Качество данной операции напрямую зависит от особенностей языка программирования исходника.
Для языка программирования Java существует большое количество декомпиляторов. Байт-код Java содержит много информации. Это облегчает декомпилятору восстанавливать изначальный код до состояния, пригодного к повторной компиляции.
Декомпиляция APK
Как вы знаете, Андроид-приложения как правило пишут на Java. С момента выхода самой первой версии Андроид перед программистами стояла задача — не только компилировать из файлов Java в APK файл для установки его в Android-устройство, но и произвести обратное действие, т.е. декомпилировать файл APK.
Ответ простой — для того чтобы в первую очередь посмотреть, как работает то или иное Android-приложение, ну и конечно изменить если требуется. При декомпиляции APK-файла (если он не был подвергнут предварительной обфускации) вы получаете полный комплект Java файлов с исходным кодом.
Большинству нужно именно просмотреть содержимое и для того чтобы это сделать на компьютере нужно установить много различных инструментов. Требуется наличие установленной Java-машины, Android SDK и таких инструментов как: JavaDecompiler, dex2jar и т.д. На самом деле это хоть и сложная, но самая правильная дорога, увы требующая от пользователя некоторых знаний и навыков, ну и конечно возни.
Да, конечно. С развитием облачных технологий появились бесплатные онлайн-сервисы о которых я сейчас расскажу.
Декомпиляция APK онлайн с Javadecompilers
Начнем наш обзор с онлайн сервиса Javadecompilers. Данный инструмент основан на оффлайн версии декомпилятора Jadx.
1. Заходим на сайт Javadecompilers нажимаем кнопку «Обзор» и выбираем необходимое приложение.
2. Нажимаем на кнопку «Upload and Decompile».
Javadecompilers
3. Через несколько минут (в зависимости от размера приложения) будет отображен результат, который можно скачать на компьютер нажав на кнопку «Save».
Javadecompilers
4. Вы также можете просмотреть все файлы находящиеся в директориях и скачать каждый по отдельности.
Javadecompilers
Кроме этого на сайте есть и другие инструменты. В целом сайт очень даже неплох. Однозначно в закладки!
Декомпиляция APK онлайн с APK-Deguard
Еще один интересный онлайн сервис называется APK-Deguard. Работает по тому же принципу. Заходим, загружаем на сайт необходимый файл и нажимаем на кнопку «Upload».
APK-Deguard
Вот как выглядит декомпилированный APK-файл на сайте.
APK-Deguard
Онлайн-сервис APK-Deguard, как и предыдущий сайт, позволяет скачать исходники. В формате txt, zip и apk.
APK-Deguard
Есть ограничение на максимальный размер загружаемого приложения. Размер файла не должен превышать 16мб. Сервис не плохой и вполне юзабельный, уже давно добавлен в закладки.
Декомпилятор APK Decompilers
Ну и напоследок в двух словах про сервис APK Decompilers. Коротко, потому что особенно не о чем и рассказывать, сайт для декомпиляции APK файлов.
APK Decompilers
По функционалу уступает предыдущим. Позволяет скачать исходники на компьютер без возможности просмотра директорий и файлов на сайте.
Выводы
Возможности облачного онлайн сервиса не сравнить с оффлайн способом декомпиляции APK файлов, который более функционален и позволяет компилировать. Но рассмотренный в статье метод в некоторых ситуациях для определенных задач может быть вполне достаточен.
На этом все. Сегодня вы узнали больше о строении и декомпиляции APK файлов. Я уверен вам понадобиться эта информация и эти навыки для защиты от вредоносных программ при установке подозрительных приложений на Android.
Tools to Decompile APK Files
1. Java Decompilers
This is a great online APK decompiler tool. This tool uses an open source like APK and DEX decompiler known as Jadx. It will help you to obtain the source code from APK file in just one click.
How to decompile APK online to the source code
- Go to this link.
- Now select the APK file by Choose File option and then click on the Upload and Decompile
- Depending upon the size of the file, it will take time to decompile.
- Once the decompilation process is completed, click on the Save button to download the source code.
2. Show Java – A Java Decompiler
Show Java is a java decompiler which can easily extract the source code of an APK (Android app). This is a decompiler that extracts the source code of an Android application including XML files and image assets. It works directly from your Android device. You can also opt for CFR 0.110 or Jadx 0.6.1 to use as the decompiler.
3. Java N-IDE
Java N-IDE is a Java console for Android. It is an Apk builder. You can build and run a java file with JDK 1.7. It supports java compiler 1.7, java editor, java autocomplete code, java debugger. It runs java file, class file, Decompile class, jar. It supports layout builder for Android and also supports VCS. Along with this, the tools which the project includes are ( Javac – Java compiler, Aapt – Android asset package tool, Dx – Dex for dalvik vm, Zip Signer, Apk Builder ). This is a great app for people who want to learn Java and also to decompile Android Apk.
4. JaDX – Decompiler
JaDX is a decompiler for “apk”, “dex”, “jar”, “class” files. It is an Android adapted version JaDX. This program does not decompile XML files and other resources. This program only decompiles classes. It also extracts the assets folder which includes binary files.
5. ApkTool
ApkTool is a tool for reverse engineering closed & binary Android apps. This tool can decode resources to the nearly original form and rebuild them after making some modifications. ApkTool makes working with an app easier because of the project like file structure and automation of some repetitive tasks like building apk, etc. It could be used for localizing, adding some features or support for custom platforms, analyzing applications and much more, but it is not intended for piracy and other non-legal uses.
Features:
- It dissembles resources to the new original form (including resources.arsc, classes.dex and XMLs)
- It helps with repetitive tasks.
- Rebuilds decoded resources back to binary APK/JAR.
- Smali debugging.
6. JD-GUI (Java Decompiler – Graphical Utility Interface)
Java Decompiler is a tool to decompile apk and analyze Java 5 “byte code” and the later versions.
- JD-Core – It is a library that reconstructs Java source code from one or more “.class” files. It is used to recover lost source code and it explores the source of Java runtime libraries. JD-Core supports annotations, generics or type “enum”. JD-GUI and JD-Eclipse include JD-Core library.
- JD-GUI – It is a standalone graphical utility that displays Java source codes of “.class” files. For instant access to methods and fields, you can browse the reconstructed source code with the JD-GUI.
- JD-Eclipse – It is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all.
- JD-Intellij – It is a plug-in for IntelliJ IDEA.
7. Dexplorer
Dexplorer is an APK decompiler app in which you can explore the DEX/APK files of all your installed apps and downloaded APK’s.
Features:
- Browse through java packages and files
- It allows you to browse through assets, lib and res folders, and files
- You can view the AndroidManifest.xml
- Previews of commonly used file types:
- XML files (syntax highlighting)
- Image files (adjustable background colors)
- Audio files with playback
- Font files with a text editor
8. Java Manager; Emulate Java
You can Emulate and Manage Java projects. This app helps you to decompile APK and your own Java programs. You can use Java in your Android. With this application, you can run java files, class files, and jar files. You can also compile and decompile your own Java programs with the help of this application.
This app runs only in command line mode.
Download link
9. DexDump
DexDump is another app to reverse-engineering Android apps. It is very easy to use. It is designed for mobile devices to decompile android applications instantly. It has easy to navigate user interface. It supports decompilation of APK, dex, odex and oat files to smali code. You can also apply a package filter to filter out uninteresting packages and search through class/field/method names within this app.
All of the above mentioned some of the tools and apps will help you to decompile APK file to the source code.
Собственный набор ПО
Каталог /system/app содержит все предустановленное в прошивку ПО. Удаляя и добавляя пакеты в этот каталог, мы можем изменить набор приложений, доступных «из коробки». Например, ни для кого не секрет, что стандартный ланчер Android (да и ADWLauncher в CyanogenMod) тормозит и имеет многочисленные недостатки. ОK, заменим его на LauncherPro:
И это все. Не надо ничего устанавливать, не надо нигде ковыряться, просто закидываем нужное приложение в каталог — и готово. Даже имя не имеет значения, Android сам найдет нужное приложение и установит его в качестве домашнего экрана. Таким же образом можно поместить в прошивку любую другую программу или удалить ее оттуда.
Полезно поместить в прошивку одно из приложений для поиска утерянного смартфона (например, prey), тогда даже в случае сброса до заводских настроек оно останется в ОС и будет работать. Также можно заменить некоторое системное ПО, например добавить Dialer One вместо стандартного Phone.apk или Go SMS вместо sms.apk.
Как насчет системных Linux-приложений, например ssh-сервера или mc? Здесь тоже все просто. Собрать софтину для Android и процессора ARM можно с помощью комплекта NDK от Google, но большинство нужных приложений уже собрано до нас. Например, мы хотим предустановить mc в свою прошивку. Идем на xda-developers и выполняем поиск по запросу Midnight Commander. На первой же странице находим apk-пакет с установщиком и распаковываем его с помощью все того же unzip:
Видим в списке распакованных файлов assets/kits/mc-4.7.5.4-arm.tar.jet. Это архив tar.gz, который распаковывается в корень системы после установки apk-пакета (а точнее, после установки apk, запуска приложения и нажатия кнопки Install). Мы можем сразу распаковать его в нашу прошивку и получить предустановленный mc:
Теперь для запуска файлового менеджера на устройстве достаточно открыть терминал и набрать mc. Другие приложения могут распространяться в zip-архивах для прошивки с помощью ClockworkMod Recovery. Поместить их в свой мод еще проще, для этого достаточно перейти в корень прошивки (в данном случае ~/rom) и распаковать архив с помощью unzip.
Стандартный build.prop для Motorola Defy
Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:
-
Уменьшение времени отклика сенсорного экрана:
-
Увеличение времени жизни батареи:
-
Твики 3G-модуля:
-
Улучшение производительности сети:
Все эти строки необходимо просто поместить в файл system/build.prop и сохранить.
How to Decompile and Recompile APK Files
- Download the ADB files and extract them to a folder on your PC. Avoid extracting them on Desktop, because the black spaces in the username might pop some errors during the decompiling and recompiling.
- Download and extract the Apktool files in the same folder where you extracted the adb tools.
- We are taking SystemUI.apk as the test apk to decompile and recompile, you can take any apk you want to mod. So you will have similar files:
- Now open a command prompt in the ADB folder by holding Shift key and Right Click in the empty space in the folder.
- Now you need to install the framework on your device. You can install the SystemUI.apk alone, but installing the framework-res.apk is also recommended in case of system apps. Type the following command to install:
apktool if <app-name.apk>
In this case:
apktool if framework-res.apk
You will get the output similar to this:
- Now similarly install the SystemUI.apk using the command:
apktool if SystemUI.apk
- Now we are ready to decompile the SystemUI.apk file. Type the following command to decompile the file:
apktool d <apk-name.apk>
In this Case:
apktool d SystemUI.apk
You will see a lot of activity on your command screen, the output should be similar to this:
- As you can see that the decompiling process takes resource table from the framework we installed in the previous steps. After the APK is decompiled you will see a folder in the ADB tools directory itself with the name of the decompiled apk. Inside the folder, you will get the folders similar this:
- These folders are more or less similar to an APK file. The res folder contains all the media files including images, ringtones and many more. It also contains the front end XML files which can be used to alter the look and feel of the app you’ve decompiled.
- The Smali folder is the tricky part, it contains the processed Java files in the form of .smali files. This folder only appears if the APK is deodexed, otherwise, these files are compressed in a single file with an extension .odex which will be found outside the APK. So you won’t get the Smali files unless the APK is deodexed.
- The Smali files are responsible for the functionality of the app, and handling them would create direct impacts to the app. So be careful while editing these files as they might cause unexpected responses on your device.
- Start your tinkering and make the necessary modifications to the APK, once finished we can recompile the APK.
- To recompile the APK type the following command:
apktool b <decompiled-folder-name>
In this case:
apktool b SystemUI
You will get a similar output once you press enter after typing the command:
- Now you can find the recompiled APK in the dist folder in the decompiled APK directory (SystemUI\dist)
- Now the APK is built, but due to the modifications made, the APK might not be compact and uses much more system resources than it actually should. To avoid this, we will align the package using Zipalign tool.
- Download the Zipalign tool and extract it in the same folder where you have placed the recompiled APK. →
- Now type the following command to Zipalign the APK
zipalign -v 4 <recompiled-apk.apk> <final-apk.apk>
In this case:
zipalign -v 4 SystemUI.apk SystemUI-final.apk
Once you press enter, you will see a lot of lines scrolling up. Don’t worry, it is just aligning your app package. At the end you should see a success message like this:
- Now you will see a new file created in the folder with the name SystemUI-new.apk (or whatever APK you modded) This is the final APK which is optimized using the Zipalign tool.
- You can flash this modded app in any possible way, you are comfortable with.
That’s it, you have now decompiled an APK, then modded it, recompiled the modded APK and finally you have optimized its performance using the Zipalign tool.
Lot of things to learn in a single tutorial, right? Leave your feedback in the comments section below.
Read Next
Decompile, Modify and Compile APK Files with APK Easy Tool
IV. .apk decompiler apps for Android
##
- APK DECOMPILER APP
In this application, as expected, we can decompile an .apk on our android supported smartphone. Due to the ability to get quite handy as it is a mobile app, it is definitely worth being on this list.
In this application, you will have permission to access photos, media, and files for your external storage if it is a case for you so. Just select .apk from your external storage and it will decompile the selected application when given a command. Then Abstract the .apk. The .zip file will be saved in your external storage.
From this application, you will see the decompiler .apk source code just on your smartphone. Cool right? It’s available on the Google play store.
- Show Java – A Java Decompiler
Show Java – A Java Decompiler is another easy to use source navigator with built-in media & code viewer for an .apk file; which comes in the form of an android app. It displays code in a clean-syntax-highlighted form with zoom & line-wrap. In this, the decompiled source can easily be copied from the SD card of your smartphone (source is stored in show-java folder in the SD card).
You can also share the decompiled source easily with the built-in archive and share mechanism present in this app.
Another good thing is it runs in the background easily without crashing. For the pro developers, it also has its own ‘Ad-Free Pro version’ available through In-App purchase. It is available on all major app stores and definitely cut through to come to this list.
- APK Extractor – Apk Decompiler
It is another android app version for an .apk decompiler named APK Extractor. Though it’s the last one and quite new, we should not underestimate it at all. It probably has one of the easiest user interfaces when it comes to comparing with other apps. It is used to decompile the source code back from .apk just like others but seems easier here.
The procedure for its work is like :
- Select the app from the installed list or select .apk file from the storage of the smartphone.
- Select the decompiler as editor.
- And it will decompile the selected .apk file right away, after the extraction you can get the source code of .apk file you have selected.
And, that’s it! You will have a decompiled code for the .apk file on your smartphone. Think about using it for your own!
Преобразование в собственные коды
Преобразование программы в собственные коды также является эффективным способом предотвращения декомпиляции. Потому что машинные коды часто трудно декомпилировать. Разработчики могут конвертировать все приложение в собственные коды, или они также могут конвертировать только ключевые модули. Если просто преобразовать ключевую часть модулей, то потребуется JNI технология для вызова, когда Java программ используют эти модули. Она отказалась от Java кросс-платформенный особенность при использовании данного способ защиты программ Java. Для разных платформ нам необходимо поддерживать разные версии собственных кодов, что увеличит нагрузку на поддержку и обслуживание программного обеспечения. Но для некоторых ключевых модулей, иногда это решение часто необходимо. Чтобы гарантировать, что эти собственные коды не будут изменены или заменены, разработчикам часто приходится подписывать их цифровой подписью. Перед использованием этих собственных кодов разработчикам часто приходится проверять подлинность этих локальных кодов, чтобы убедиться, что эти коды не были изменены хакерами. Если проверка подписи пройдена, то разработчики могут вызвать соответствующие методы JNI.
↑ Что такое APK файл?
APK — формат операционной системы Android, использующийся для архивных исполняемых файлов-приложений, причем название самого файла может быть любым, а вот расширение должно выглядить только так .apk. Аналогами APK в других ОС являются в Windows .msi, в Symbian — .sis, в Linux — .rpm или .deb. Смотрим что внутри По сути .apk это ZIP архив, поэтому посмотреть на внутреннее устройство можно воспользовавшись любым файловым менеджером или архиватором, например WinRAR или мобильным приложением X-plore.
При этом стоит помнить что вы получаете лишь визуальный доступ к внутренним ресурсам, возможности редактирования крайне ограничены. Рассмотрим структуру Внутри .apk мы видим ряд файлов и папок, давайте узнаем для чего они служат:
- AndroidManifest.xml — это своего рода «паспорт» приложения из которого можно узнать все основные моменты, требования, версию, разрешения и прочее.
- META-INF этот фаил содержит метаданные, то есть данные о данных, контрольные суммы, пути к данным, пути и контрольные суммы ресурсов, сертификаты. Открыть этот фаил можно любым текстовым редактором, но рекомендуется использовать Notepad++.
- Папка res содержит все ресурсы программы, графические, такие как иконки, картинки, текстовые, элементы графического интерфейса. Получить доступ к папке так же можно без труда.
- classes.dex — непосредственный программный код приложения, выполняемый виртуальной машиной Dalvik VM, увидеть что внутри этого файла можно лишь декомпилировав .apk, об этом мы расскажем в других статьях. resources.arsc -скомпилированный файл XML, данный фаил содержит данные о всех ресурсах задействованных в программе.
- lib — папка с нативными библиотеками, получить доступ к ресурсам которой можно лишь при использовании специализированных программ. Так же в APK могут встречаться такие файлы и папки как com, org, udk, но далеко не всегда.
Теперь рассмотрим внутреннюю структуру более подробно для этого нам понадобиться программа для декомпиляции, Java и АПК-файл. Основным инструментом для разборки .apk является Apktool, но данная программа работает только со строки, что не очень удобно. Для более быстрого и удобного разбора можно использовать APKing, это все та же Apktool, но с возможностью работы из контекстного меню.
И так устанавливаем APKing как любое приложение для Windows и выбрав .apk нажимаем на него правой клавишей мыши и одновременно Shift, после чего увидим следующее:
И выбираем необходимое действие, например декомпилировать полностью, далее программа завершит операцию и создат папку с таким же названием.
Открыв папку мы получим доступ ко всем ресурсам АПК файла.
Теперь все текстовые файлы можно редактировать, при этом соблюдая основные правила, можно использовать популярную программу Notepad++, для примера рассмотрим AndroidManifest.xml
Редактировать подобные ресурсы можно как обычный текстовый фаил.
После применения изменений необходимо собрать и подписать АПК. Нажимаем на папку с ресурсами правой кнопкой и Shift, выбираем скомпилировать и подписать, после завершения программа создат готовый файл в папке dist.
Как работать с другими ресурсами апк, в том числе и графическими мы узнаем из следующих статей.
Декомпиляция и компиляция apk
вкл. 24 Сентябрь 2020 . Опубликовано в Android — Общее
Декомпиляция и Компиляция APK приложения Андроид. Для того чтобы редактировать APK приложения. Прежде всего их нужно декомпилировать, а после скомпилировать! Как это сделать и чем можно узнать в этом уроке.
В прошлом уроке вы узнали из чего состоят основные внутренности приложения, а также что данные что APK приложения (в дальнейшем просто APK) можно открыть архиватором, но что либо изменить у вас не получиться! Нужна Декомпиляция APK приложения Android!
1. Java JDK — среда разработки;
2. ApkTool — программа декомпилятор;
4. Sign Android — подпись приложения APK
Установка необходимых компонентов. Настройка Java
После установки Java JDK , необходимо, добавить ее в переменную Windows . Если кто не понял официальное куроводство то,
Скопируйте путь Java JDK:
Перейдите в меню Дополнительные настройки
(Мой) Компьютер ->Свойства системы->Дополнительные параметры системы->Дополнительно->Системные переменные->Правка
Java JDK настроена.
Настройка ApkTool
- Создать папку на диске C: и в нее переместить файлы apktool_x_x.jar и apktool.bat
- Файл apktool_x_x.jar переименовать в apktool.jar
Если появилось наподобие такой вывод информации, то все сделано правильно.
Декомпиляция APK
Чтобы декомпилировать приложение, скопируйте файл APK приложения в папку где находится apktool, далее необходимо выполнить вот что, в командной строке ввести команду:
Декомпиляция APK завершена.
После того как вы отредактируете или русифицируете APK, его надо Компилировать
Компиляция APK
Вводим в командной строке:
После чего перейдите в папку проекта ( в данном случае папка browser) и вы увидете две новые папки:
- build
- dist
В папке dist будет находится готовое приложение:
Если папки dist не обнаружили, значит apktool не смог собрать редактируемый проект, причиной тому может быть то, что измения которые вы вносили(«поломали») не позволяют собрать приложение apk.
После компиляции приложения apk его необходимо подписать.
Подпись APK
1. Для этого Вам надо разархивировать архив Sign Android
2. Скопировать готовое приложение в папку с распакованным Sign Android
3. Потянуть приложение на файл Sign_APK.bat после чего приложение будет подписано
Готовое подписанное приложение будет носить название apk_signed.apk
Работа с системными APK
Для того чтобы модифицировать системные приложения необходимо прежде всего необходимо скормить программе APKTOOL системный файл framework -res.apk который находиться в системном разделе Android:
Для того чтобы скормить Apktool данный файл необходимо, ввести команду:
Учитывайте что, команду нужно вводить относительно пути расположения, то есть если файл framework -res.apk находиться в папке C:primer, то команда будет выглядеть следующим обзором:
Также для того чтобы можно было модифицировать системные файлы прошивка должна быть вначале Deodex-ирована.
Как пользоваться SmartApkTool
Прежде всего вам надо установить и настроить Java JDK и Apktool как указано выше.
Откройте программу SmartApkTool
Если Вам необходимо Декомпилировать приложение в SmartApkTool, то выберите данный пункт и необходимое приложение
Если компилировать, то
и выбрать файл в проекте apktool.yml
Для подписи приложения APK, нажать обзор, выбрать приложение и подписать
Все так легко и просто!
Альтернативный вариант
Для тех кому не понравился SmartApkTool, есть альтернатива Android MultiTool
Дисклеймер: Я не 23 летний сеньор (мне 19 и до сеньора мне еще ой как далеко, года 4, поэтому супер статьи от меня не ждите.
Основа пути моего, разработчика как — обучение/изучение нового постоянное. Надеюсь, у вас тоже.
Я бы хотел подробно рассмотреть процесс компиляции и сборки Android приложения в конечный .apk. Да, при разработке очередного приложения какашкибезholoстилей эта информация вам нафиг не сдалась, но для общего развития будет полезна всем Android разработчикам.
Конечно, можно было бы ограничиться инструкцией вроде:
- Напишите код
- Нажмите кнопочку Build & Run в вашей IDE
- Продолжайте быть Android разработчиком
Но мы не ищем легких путей.
Примечание: Это не перевод https://developer.android.com/tools/building/index.html, это статья, основанная в том числе и на данной документации.
Сборка
ОК, мы внесли необходимые изменения, внедрили свои приложения, твикнули систему и теперь должны создать готовый к прошивке образ ОС. В этом нам поможет утилита testsign. Сначала следует запаковать прошивку с помощью zip:
Теперь необходимо подписать архив, чтобы Recovery смог его установить:
После этого закидываем архив my-rom-signed.zip на карту памяти устройства и выключаем аппарат. Чтобы попасть в Recovery, включаем аппарат с зажатой клавишей уменьшения громкости (для некоторых устройств процедура может отличаться).
Далее с помощью клавиш управления громкостью выбираем пункт «Wipe data/factory reset», нажимаем клавишу включения (в Recovery это аналог ), выбираем Yes и снова жмем .
Теперь переходим в пункт «Install zip from sdcard», а затем в «Choose zip from sdcard», находим my-rom-sign.zip на SD-карте и выбираем Yes. После завершения установки выбираем «Reboot system now».
Выбираем подопытного
Итак, предположим, что наш коммуникатор уже зарутован и в загрузочную область записана консоль восстановления ClockworkMod, позволяющая устанавливать на аппарат любые прошивки без всяких ограничений (о том, как это сделать, мы писали в статье «Тотальное подчинение», опубликованной в октябрьском номере ][). Теперь мы хотим установить на устройство другую прошивку, да не абы какую, а с собственными модификациями, настройками и набором ПО. Поэтому нам нужен каркас, а именно чужая прошивка, стабильно работающая на нашем устройстве. Где ее взять?
Главное место обитания всех ромоделов — это, конечно же, форумы xda-developers.com. Там можно найти все что угодно для коммуникаторов, работающих под управлением iOS, Windows Mobile, Windows Phone и Android. Открываем сайт в браузере, жмем на раздел Forums и ищем в списках форумов свой коммуникатор. Далее заходим в соответствующий раздел Android Development и внимательно просматриваем список тем, содержащих в названии слово «». Лучше найти какую-нибудь чистую прошивку с названием вроде «Pure Android 2.3 Rom» или порт CyanogenMod, хотя, в сущности, подойдет и любая другая (правда, возможно, придется отменять авторские изменения). Открываем тему, проматываем первый пост, находим где-то в конце ссылку на скачивание и загружаем ROM на свой комп.
Моды анимации загрузки с xda-developers
Другие статьи в выпуске: