Кратко о мануале - мы попытаемся на примере программы Advanced Task Killer Free for Android 1.7.9
http://download.cnet.com/Advanced-Task-Kil...4-75011529.html
с простейшими действиями по изменению содержимого пакета - руссификиции, замену картинок и файлов.
Все изменения я буду проводить на компьютере под Windows XP, процесс изменения на Линукс и Мак ОС мало чем отличается, если найдется желающий описать его - буду только рад.
1. Распаковываем apk
Для запаковки-распаковки используем программу APKTool 1.3.2 (Программа постоянно доделывается, поэтому рекомендую заглянуть на сайт разработчиков
Для этого скачиваем архив
извлекаем из него 3 файла и кладем их в папку с установленной WINDOWS
В моем случае это C:\WINDOWS
Далее нам потребуется команндная строка. Самое простое - это нажать Пуск - Выполнить - и в появившейся строке ввести команду cmd
Можно сразу работать с командами или предварительно запустить оболочку - FAR, Norton commander и т.п. Второй вариант удобнее, т.к. некоторые команды можно будет не набирать с клавиатуры, а просто перемещаться по панелям оболочки.Командына обязательновводитьс кливиатуры.Можно скопировать их прямо из мануала, щелкнуть по окну командной строки правой кнопкой мыши и выбрать "изменить- вставить".
Я поместил программу с именем taskkiller.apk, которую хочу распаковать в корень диска d
Команда для распаковки такая:
Apktool d D:\taskkiller.apk D:\taskkiller
Если декомпиляция произошла успешно, то вы увидите окно вида
и в моем случае на диске D появилась папка taskkiller в которой находятся файлы программы.
2. Изменяем файлы программы.
Структура папок и файлов внутри декомпилированного пакета следующая:
/res/drawable
Сюда помещаются все графические файлы, используемые в приложении. В нашем случае это иконка приложения, иконка виджета, иконка для статус-бара и 2 файлика-чекбокса - выбран пункт меню или нет. Их все можно поменять на собственные придерживаясь тех же характеристик графических файлов, что и исходные.
/res/layout
В эту папку помещаются файлы, в которых в формате XML описывается внешний вид окон программы, размещение элементов и т.п.
/res/values
В этой папке хранятся общие константы для всего приложения. Здесь же размещены 2 файла strings.xml и arrays.xml которые нам предстоит перевести. В принципе можно напрямую править файлы, но удобнее воспользоваться специальной программой (см. п3 мануала).
AndroidManifest.xml
В этом файле перечисляются общие свойства проекта (версия, package и прочее), а также все формы (Activities), входящие в проект.
в папке /assets размещены файлы about.txt и help.txt которые нам также предстоит перевести.
3. Перевод.
Качаем архив
и распаковываем его в любой папке. Запускаем файл aiLocalization.exe В итоге должно появиться такое окно:
Нажимаем кнопку Browse... выбираем каталог D:\taskkiller Дальше жмем на + и выбираем язык локализации, в нашем случае RU. Далее справа выбираем поочередно файлы xml и переводим текст, меняя значения в столбце Local value
В приложении есть кнопка "Auto Translate..." но она почему-то вызывает ошибку.
После окончания перевода файла жмем на дискетку для сохранения. Если забыли нажать, то все данные перевода при закрытии потеряются.
После сохранения заходим в каталог с переводом с помощью нажатия иконки "open folder" и удаляем все лишние файлы. Должны остаться только те файлы, которые Вы сохраняли для перевода. Если этого не сделать, то пакет скорее всего неверно соберется.
4. Собираем пакет
Apktool b D:\taskkiller
В результате в D:\taskkiller, появились еще 2 папки: build и dist. В папке dist находится собранный *.apk файл, который нам предстоит подписывать.
5. Подписываем пакет с помощью ява-машины
Качаем и устанавливаем ява-машинуhttp://cds.sun.com/is-bin/INTERSHOP.enfini...indows-i586.exe
Дальше требуется создать тестовый ключ, которым в дальшейшем будут подписываться все пакеты и подписать наш собранный пакет.
С помощью команды cd заходим в каталог, куда установлена виртуальная машина (C:\Program Files\Java\jdk1.6.0_21), а там в папку "bin" и набрать команду:
keytool -genkey -alias sergggg -keyalg RSA
после -alias вы указываете имя сертификата. В моем случае выбран sergggg
Можно также указать (не обязательно) -validity (количество дней действия сертификата (по умолчанию 180) -keystore (имя хранилища сертификатов)
После этого поочередно будут заданы простые анкетные вопросы, при ответе на которые будет создан ключ
Подписываем пакет командой jarsigner D:\taskkiller\dist\taskkiller.apk sergggg
После этого в пакете должна появиться папка META-INF. Пакет подписан и его можно устанавливать.
А вот и переведенная с помощью денного мануала программа
Сообщение отредактировал SergGG - 7.10.2011, 10:24
http://download.cnet.com/Advanced-Task-Kil...4-75011529.html
с простейшими действиями по изменению содержимого пакета - руссификиции, замену картинок и файлов.
Все изменения я буду проводить на компьютере под Windows XP, процесс изменения на Линукс и Мак ОС мало чем отличается, если найдется желающий описать его - буду только рад.
1. Распаковываем apk
Для запаковки-распаковки используем программу APKTool 1.3.2 (Программа постоянно доделывается, поэтому рекомендую заглянуть на сайт разработчиков
Для этого скачиваем архив
apktool1.3.2.rar ( 2.41 мегабайт ) Кол-во скачиваний: 5271 |
В моем случае это C:\WINDOWS
Далее нам потребуется команндная строка. Самое простое - это нажать Пуск - Выполнить - и в появившейся строке ввести команду cmd
Можно сразу работать с командами или предварительно запустить оболочку - FAR, Norton commander и т.п. Второй вариант удобнее, т.к. некоторые команды можно будет не набирать с клавиатуры, а просто перемещаться по панелям оболочки.Командына обязательновводитьс кливиатуры.Можно скопировать их прямо из мануала, щелкнуть по окну командной строки правой кнопкой мыши и выбрать "изменить- вставить".
Я поместил программу с именем taskkiller.apk, которую хочу распаковать в корень диска d
Команда для распаковки такая:
Apktool d D:\taskkiller.apk D:\taskkiller
Если декомпиляция произошла успешно, то вы увидите окно вида
и в моем случае на диске D появилась папка taskkiller в которой находятся файлы программы.
2. Изменяем файлы программы.
Структура папок и файлов внутри декомпилированного пакета следующая:
/res/drawable
Сюда помещаются все графические файлы, используемые в приложении. В нашем случае это иконка приложения, иконка виджета, иконка для статус-бара и 2 файлика-чекбокса - выбран пункт меню или нет. Их все можно поменять на собственные придерживаясь тех же характеристик графических файлов, что и исходные.
/res/layout
В эту папку помещаются файлы, в которых в формате XML описывается внешний вид окон программы, размещение элементов и т.п.
/res/values
В этой папке хранятся общие константы для всего приложения. Здесь же размещены 2 файла strings.xml и arrays.xml которые нам предстоит перевести. В принципе можно напрямую править файлы, но удобнее воспользоваться специальной программой (см. п3 мануала).
AndroidManifest.xml
В этом файле перечисляются общие свойства проекта (версия, package и прочее), а также все формы (Activities), входящие в проект.
в папке /assets размещены файлы about.txt и help.txt которые нам также предстоит перевести.
3. Перевод.
Качаем архив
ailocalizer_bin_1.5.zip ( 177.29 килобайт ) Кол-во скачиваний: 1536 |
Нажимаем кнопку Browse... выбираем каталог D:\taskkiller Дальше жмем на + и выбираем язык локализации, в нашем случае RU. Далее справа выбираем поочередно файлы xml и переводим текст, меняя значения в столбце Local value
В приложении есть кнопка "Auto Translate..." но она почему-то вызывает ошибку.
После окончания перевода файла жмем на дискетку для сохранения. Если забыли нажать, то все данные перевода при закрытии потеряются.
После сохранения заходим в каталог с переводом с помощью нажатия иконки "open folder" и удаляем все лишние файлы. Должны остаться только те файлы, которые Вы сохраняли для перевода. Если этого не сделать, то пакет скорее всего неверно соберется.
4. Собираем пакет
Apktool b D:\taskkiller
В результате в D:\taskkiller, появились еще 2 папки: build и dist. В папке dist находится собранный *.apk файл, который нам предстоит подписывать.
5. Подписываем пакет с помощью ява-машины
Качаем и устанавливаем ява-машинуhttp://cds.sun.com/is-bin/INTERSHOP.enfini...indows-i586.exe
Дальше требуется создать тестовый ключ, которым в дальшейшем будут подписываться все пакеты и подписать наш собранный пакет.
С помощью команды cd заходим в каталог, куда установлена виртуальная машина (C:\Program Files\Java\jdk1.6.0_21), а там в папку "bin" и набрать команду:
keytool -genkey -alias sergggg -keyalg RSA
после -alias вы указываете имя сертификата. В моем случае выбран sergggg
Можно также указать (не обязательно) -validity (количество дней действия сертификата (по умолчанию 180) -keystore (имя хранилища сертификатов)
После этого поочередно будут заданы простые анкетные вопросы, при ответе на которые будет создан ключ
Подписываем пакет командой jarsigner D:\taskkiller\dist\taskkiller.apk sergggg
После этого в пакете должна появиться папка META-INF. Пакет подписан и его можно устанавливать.
А вот и переведенная с помощью денного мануала программа
taskkiller.apk ( 82.57 килобайт ) Кол-во скачиваний: 1494 |
Сообщение отредактировал SergGG - 7.10.2011, 10:24