А, что там, вмеcто Eclipse?
Вроде-бы, ничего не забыли.
Теперь займёмся исполнительной частью проекта (та, что курсивом).
А главным в этом деле будет файл
fenix.bat:
Поскольку требования к файлу предъявляются серьёзные (подменить Eclipse + Android Studio), мы отнесёмся
к его составляющим с особым вниманием и чётко пропишем все переменные и пакеты.
После этого мы создадим файл
R.java: это просто класс, в составе которого другие статические вложенные классы с целочисленными константами.
Вот его опции:
package — говорит, что нам нужно именно упаковать ресурсы (а не добавить или удалить)
-f — перезапись существующего R.java, если таковой имеется
-m — разместить R.java в надлежащих пакетах, а не в корне указанного в -J пути
-S — после этой опции мы указываем каталог с ресурсами
-J — после этой опции мы указываем куда сохранить получившийся R.java
-I — после этой опции мы указываем путь к подключаемой библиотеке — включаем android.jar
Поближе с этими опциями (как и с опциями других используемых команд) вы можете познакомится в ПКС:
disk:\>aapt -help (aapt.exe,07,рис.5). Далее мы компилируем исходный файл (18,рис.5), преобразуем class-файлы
в clsses.dex (19,рис.5) и создаём apk-файл (20,рис.5), правда, пока без подписи.
Поскольку андроид
запрещает устанавливать и запускать приложения без подписи, мы создаём пару ключей (22,рис.5) и электронную
подпись (23,рис.5). Так-как андроида под рукой нет (всякое бывает...), запуск нашего приложения мы закомментировали
(25,26 и 27,рис.5).
На последок - небольшой совет: отрабатывайте приложение
поэтапно, не забывайте
про оператор
rem(или
::). Как вариант - строчки 22-23 можно опустить, если ипользовать
специальну утилиту для подписи ansig.apk. Архив можно поискать в сети. Внутри он выглядит примерно
так:
01 sign.bat
02 sign_APK.bat
03 signapk.jar
04 testkey.z509.pem
05 testkey.pk8
Загружаем unsig.apk в эту папку, запускаем 02 и имеем подписаный apk-файл. Спасибо автору проги.
Если поиски в сети будут неудачными, скачать прогу для подписи андроид-приложения можно
здесь.
***
Хочу ещё раз остановится на работе с ПКС и bat-файлом:
операции с вышеприведёнными примерами возможны даже в том случае,
если все используемые в проектах программы не будут подключены через переменные среды ---> системные переменные (что, то-же, не возбраняется).
Основываясь на собственном опыте могу сказать - испоьзовать запись типа
диск:/каталог/.../файл - не самый лучший вариант. Цепочки
бывают достаточно длинными, а это приводит к неизбежным ошибкам. К тому-же - и размеры диалогового окна значения переменной, и шрифт, который при этом используется, ситуации не улучшает.
Проще всего - создать переменную, задать её значение и в последующем использовать запись типа
%имяпеременной%.
P.S.
Если, вдруг, интерес к мобильным приложениям не пропадёт...то со-временем захочется взломать понравившееся приложение. Либо - для интереса - а что там
внутри, либо - реклама достанет, захочется удалить.
Каким путём в эту сторону не идти, всё равно упрёшся в механизм:
file.bat
01 @echo off
02 :: распаковываем арк-файл
03 call dex2jar\d2j-dex2jar -os -ts -r file.apk
04 :: запускаем jd_gui
05 call java -jar jd_gui.jar
06 pause
или:
file.bat
01 @echo off
02 :: распаковываем арк-файл
03 call java -jar apktool.jar d -o foobar_src file.apk
04 :: запускаем jd_gui
05 call java -jar jd_gui.jar
06 pause
Оба варианта предполагают, что используемые компоненты либо подключены к ОС, либо находятся в рабочем каталоге.
Если потребуется package_name или main_activity_name, то проще это сделать так:
file.bat
01 @echo off
02 :: подключаем прогу
03 set aapt=C:\Progra~1\Android\sdk\build-tools\api-19\aapt.exe
04 :: получаем инфо
05 call %aapt% dump badging file.apk
06 pause
Если не угас азарт или ОС не позволяет, то всё вышеупомянутое можно набрать в панели cmd.exe.
***
Вполне возможно, что делать этого не придётся. Современные андроиды делают это сами, есть такая у них
опция.
Google, говоришь...
После того, как Google вмешался в жизнь андроида, некоторые приложения
стало трудно распаковывать..."до конца".
Приложение мало распаковать - его нужно заново скомпилировать,
что-бы оно вновь заработало. Что-бы попытаться это сделать, необходимо
...продолжить