motofan logo
> 

Работа с АРК-пакетами - распаковка, изменения, запаковка, подписывание, [faq для Мотофана]

SergGG
сообщение 2.12.2010, 14:42


Мингофан
*******

Группа: Почётные мотофаны
Сообщений: 1 540
Регистрация: 30.5.2006
Из: Дніпро
Пользователь №: 85 418
Модель телефона: Droid Turbo
Прошивка: 6.0
Победитель конкурса 2008


Настроение:
Капітан Збройних сил України



Рейтинг: 1612



Кратко о мануале - мы попытаемся на примере программы 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 (Программа постоянно доделывается, поэтому рекомендую заглянуть на сайт разработчиков

Для этого скачиваем архив
Прикрепленный файл apktool1.3.2.rar   ( 2.41 мегабайт ) Кол-во скачиваний: 5271
извлекаем из него 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. Перевод.
Качаем архив
Прикрепленный файл ailocalizer_bin_1.5.zip   ( 177.29 килобайт ) Кол-во скачиваний: 1536
и распаковываем его в любой папке. Запускаем файл 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. Пакет подписан и его можно устанавливать.

А вот и переведенная с помощью денного мануала программа
Прикрепленный файл taskkiller.apk   ( 82.57 килобайт ) Кол-во скачиваний: 1494


Сообщение отредактировал SergGG - 7.10.2011, 10:24
Прикрепленный файл taskkiller.apk   ( 82.57 килобайт ) Кол-во скачиваний: 1494
Прикрепленный файл apktool1.3.2.rar   ( 2.41 мегабайт ) Кол-во скачиваний: 5271
Прикрепленный файл ailocalizer_bin_1.5.zip   ( 177.29 килобайт ) Кол-во скачиваний: 1536
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
SergGG   Работа с АРК-пакетами - распаковка, изменения, запаковка, подписывание   2.12.2010, 14:42
Sanyok_   зачем столько лишних телодвижений с распаковкой AP...   2.12.2010, 18:57
BALU   а вот и не простой зип, а подписанный приложение п...   2.12.2010, 19:04
Sanyok_   BALU, тем не менее для распаковки всё равно можно ...   2.12.2010, 20:39
SergGG   BALU, тем не менее для распаковки всё равно можно...   3.12.2010, 10:52
rus1988   настройки телефона так перевести можно? я пытался,...   3.12.2010, 1:34
Vadim F.   С распаковкой и изменениями всё понятно, с запаков...   3.12.2010, 6:41
SergGG   С распаковкой и изменениями всё понятно, с запако...   3.12.2010, 7:19
Vadim F.   Так всё-таки, как подписывать пакет?   6.12.2010, 2:22
SergGG   Так всё-таки, как подписывать пакет? сорри, коп...   6.12.2010, 7:31
Sanyok_   Сергей по убирай все упоминания о ДОСе из своего м...   6.12.2010, 16:20
SergGG   Сергей по убирай все упоминания о ДОСе из своего ...   6.12.2010, 20:11
SergGG   Заказывайте в этой теме переводы. по мере возможно...   16.12.2010, 12:11
комсомолец Биря   Заказывайте в этой теме переводы. по мере возможн...   17.12.2010, 21:55
SergGG   Заказывайте в этой теме переводы. по мере возмож...   20.12.2010, 9:54
Каплан   Есть приложение джим аспро портированная. У меня е...   18.12.2010, 19:25
комсомолец Биря   SergGG, рут я сделал первым же делом. жду инстру...   21.12.2010, 16:32
SergGG   Обещанный перевод strings.xml. Его надо скачать и ...   22.12.2010, 11:48
Каплан   Максимельно все что можно заменить и добавить. Я к...   22.12.2010, 12:14
SergGG   Максимельно все что можно заменить и добавить. Я ...   22.12.2010, 12:25
комсомолец Биря   эээээээмммм...не подскажете, где папку с установле...   23.12.2010, 9:16
SergGG   эээээээмммм...не подскажете, где папку с установл...   24.12.2010, 11:47
комсомолец Биря   помогите скомпилировать, а то что-то никак сам не ...   24.12.2010, 21:21
комсомолец Биря   у меня получилось корректно разобрать settings.apk...   27.12.2010, 13:46
4473   Вытащил стандартное приложение из телефона /syste...   7.1.2011, 21:05
Silent_Bob   android-apktool умеет:переводим в *.xml, проходимс...   8.1.2011, 13:20
комсомолец Биря   а ты пробовал morelocale?   7.1.2011, 21:20
4473   а ты пробовал morelocale? да но она перевела все...   7.1.2011, 21:23
Silent_Bob   Поменять местами английские и русские значения ......   7.1.2011, 22:31
4473   Поменять местами английские и русские значения .....   8.1.2011, 8:31
virp50   А на linux есть какя нибудь прога для редактирован...   8.1.2011, 12:17
tenor   Как название ява проги для подписи пакета APK? Под...   9.2.2011, 20:03
SergGG   Как название ява проги для подписи пакета APK? По...   10.2.2011, 8:13
rausNT   а какие то действия не связанные с переводом как в...   9.2.2011, 21:29
Silent_Bob   Notepad ++ не подсвечивает ???   10.2.2011, 8:03
rausNT   Notepad ++ не подсвечивает ??? не пробовал, поп...   10.2.2011, 10:11
SergGG   Наткнулся на просторах интернета на интересную про...   7.10.2011, 9:47
salaoshi   Вышла новая версия TM-database. -Добавлен поиск е...   18.2.2012, 19:38
salaoshi   Новая версия TM-database. Исправлена ошибка перем...   4.3.2012, 14:08
myu   У кого есть выложите пожалуйста переводы в формате...   27.3.2012, 10:53
salaoshi   Перевод в формате .xls 339B19AA536D1A79AE91787894C...   7.4.2012, 3:05
Claus398   что то не пойму как подписать арк. уже все пробова...   21.4.2012, 17:55

Работа с АРК-пакетами - распаковка, изменения, запаковка, подписывание, [faq для Мотофана] · Motorola на Android OS · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25.4.2024, 19:11

Форум живёт: