Вверх ↑
Ответов: 163
Рейтинг: 33
#1: 2018-11-30 13:51:16 ЛС | профиль | цитата
Так как подпись apk своим ключем вызывает интерес, делюсь своим решением, которым пользуюсь уже полгода. В архиве находятся модифицированные android.sha, android.exe и файл с инструкцией.
инструкция
1. Создаем хранилище с ключем, как описано здесь: https://startandroid.ru/ru/uroki/vse-uroki-spiskom/221-urok-123-kak-podpisat-prilozhenie-utility-keytool-i-jarsigner.html
Строка запуска keytool будет иметь следующий вид:

keytool -genkey -keystore android-release-key.keystore -storepass пароль_хранилища -alias android -keypass пароль_ключа -dname "CN=ваше_имя_или_псевдоним" -validity 20000

Вместо "пароль_хранилища" и "пароль_ключа" подставьте придуменные вами пароли; можно использовать одинаковые пароли.
Так же не забудьте про "ваше_имя_или_псевдоним".

В процессе создания ключа keytool запросит у вас дополнительные параметры (страна, организация и т. д.), но они в принципе не важны и можно оставить их пустыми.

2. Перемещаем созданное хранилище (файл android-release-key.keystore) в папку \Elements\Android\code\result.
В той же папке создем файл "ant.properties" следующего содержания:

key.store=android-release-key.keystore
key.alias=android
key.store.password=пароль_хранилища
key.alias.password=пароль_ключа

3. Запускаем HiAsm и добавляем новый компилятор (сервис - компиляторы - добавить), например, "Android_release".
Расширение - java
Путь - путь_до_папки_HiAsm\compiler\Android\android.exe
Командная строка - "%fname%" "%upath%" "%opath%" release

Сервис - пакеты - Android - ставим галку на новом компиляторе.

4. Идем в папку \compiler\Android и переименовываем файлы android.exe и android.sha во что-нибудь другое (например, добавляем в начале "_").
Распаковываем сюда модифицированные версии этих файлов из архива.

Готово. Теперь остается перед компиляцией выбирать компилятор "Android_release", и apk будет подписан вашим ключем.
Если же выбрать "Android", то apk, как и раньше, будет подписан отладочным ключем.



Модифицированный компилятор умеет делать еще 2 вещи:
  1) компилировать проект без гугловской библиотеки поддержки.
  2) По окончанию компиляции и перед очисткой папок bin, res, libs, src (в директории result) создавать их копии в папке _last.
Первое пользователям пакета будет бесполезно, т.к. требует еще и модификации некоторых файлов пакета. Второе упрощает доступ к исходникам создаваемого приложения и экономит время при поиске в них ошибок.
карма: 3

0