Создайте командную строку android keytory/private key

Я создал свое приложение с помощью командной строки Cordova. Теперь я понимаю, что для релиза мне нужно получить Keystore и закрытый ключ. В документации по Android я вижу, что мне нужно сделать это в студии Android. http://developer.android.com/tools/publishing/app-signing.html Но если я правильно понял, мне нужно будет собрать проект в Android Studio, а не в командной строке. Но я думал, что рекомендуемая форма - это работа с командной строкой в ​​Cordova.

Можно ли создать хранилище ключей/закрытый ключ в командной строке? Если нет, можно ли открыть проект, который я создал в кодовой с Adnroid studio, создать хранилище ключей/закрытый ключ, а затем снова создать его в кордове.

Также вам нужно создать другое хранилище ключей/закрытый ключ для каждого проекта?


person jivangilad    schedule 22.09.2014    source источник


Ответы (1)


Проверьте этот раздел.
"Для подписания приложения вам не требуется Android Studio или подключаемый модуль ADT для Eclipse"

Как подписать приложение вручную.

Сгенерируйте закрытый ключ с помощью keytool. Например:

$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000

В этом примере вам будет предложено ввести пароли для хранилища ключей и ключа, а также указать поля отличительного имени для вашего ключа. Затем он создает хранилище ключей в виде файла с именем my-release-key.keystore. Хранилище ключей содержит один ключ, действительный в течение 10 000 дней. Псевдоним — это имя, которое вы будете использовать позже при подписании своего приложения.

Скомпилируйте приложение в режиме выпуска, чтобы получить неподписанный APK.

Подпишите свое приложение своим закрытым ключом, используя jarsigner:

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore my-release-key.keystore my_application.apk alias_name

В этом примере запрашиваются пароли для хранилища ключей и ключа. Затем он изменяет APK на месте, чтобы подписать его. Обратите внимание, что вы можете подписывать APK несколько раз разными ключами.

Убедитесь, что ваш APK подписан. Например:

$ jarsigner -verify -verbose -certs my_application.apk

Выровняйте окончательный пакет APK с помощью zipalign.

$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

zipalign гарантирует, что все несжатые данные начинаются с определенного выравнивания байтов относительно начала файла, что уменьшает объем оперативной памяти, потребляемой приложением.

person benka    schedule 22.09.2014
comment
Спасибо. Оно работает. Я не заметил его, так как он был в конце страницы. - person jivangilad; 23.09.2014
comment
Я не понимаю. jarsigner: цепочка сертификатов не найдена для: alias_name. alias_name должен ссылаться на допустимую запись ключа KeyStore, содержащую закрытый ключ и соответствующую цепочку сертификатов открытого ключа. - person Toolkit; 14.11.2015
comment
почему-то псевдоним mykey - person Toolkit; 14.11.2015
comment
но теперь ошибка jarsigner: java.security.SignatureException: алгоритм закрытого ключа несовместим с алгоритмом подписи - person Toolkit; 14.11.2015