motofan logo
2 страниц V < 1 2        
> 

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

SergGG
сообщение 2.12.2010, 14:42 Закрепленное сообщение!


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

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

Рейтинг: 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 мегабайт ) Кол-во скачиваний: 5325
извлекаем из него 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 килобайт ) Кол-во скачиваний: 1561
и распаковываем его в любой папке. Запускаем файл 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 килобайт ) Кол-во скачиваний: 1529


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


Новичок
*

Группа: Пользователи
Сообщений: 3
Регистрация: 18.2.2012
Пользователь №: 232 719
Модель телефона: ASUS A50
Прошивка: android 2.1

Рейтинг: 15



Перевод в формате .xls
339B19AA536D1A79AE91787894CC9EE7
Прикрепленный файл ICS_0119_EeePad_strings.rar   ( 5.99 килобайт ) Кол-во скачиваний: 230
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Claus398
сообщение 21.4.2012, 17:55


Авторитет
********

Группа: Контент-менеджеры
Сообщений: 12 345
Регистрация: 6.7.2007
Из: Украина. Кривой Рог
Пользователь №: 140 536
Модель телефона: Motorola ROKR E1
Прошивка: My skins mod

Рейтинг: 3125.5



что то не пойму как подписать арк. уже все пробовал, нечего не работает(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Работа с АРК-пакетами - распаковка, изменения, запаковка, подписывание, [faq для Мотофана] · Motorola на Android OS · Forum
 

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

 



Текстовая версия Сейчас: 29.7.2025, 1:38

Форум живёт: