сборка релиз Ionic не генерирует - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь создать APK, чтобы опубликовать свою просьбу на Ionic в Play Store.Но когда дело доходит до приведенной ниже команды, я получаю сообщение об ошибке:

PS C: \ Projetos \ XXX> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore android.keystore platform / android / app /build / output / apk / release / app-release-unsigned.apk

android-app-key Подобрано _JAVA_OPTIONS: -Xmx512M Введите парольную фразу для хранилища ключей: jarsigner: невозможно открыть файл jar: платформы / android / app/build/outputs/apk/release/app-release-unsigned.apk

И релиз не создается в папке APK.Кто-нибудь может мне помочь?

Ответы [ 3 ]

0 голосов
/ 08 октября 2018

Эта проблема может возникать по следующим причинам:

  1. app-release-unsigned.apk не существует
  2. при выполнении вышеуказанной команды вы не находитесь в папке выпуска,Папка релиза находится в платформах / android / app / build / output / apk / release
  3. хранилище ключей не существует

Убедитесь, что вы выполняете следующие действия

  • после запуска ionic cordova build --release android убедитесь, что сборка прошла успешно и в ней создана папка релиза, путь platform / android / app / build / output / apk /релиз .
  • после создания папки выпуска перейдите к этой папке через терминал
  • , как только вы доберетесь туда, создайте хранилище ключей, выполнив следующую команду keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000, вы можете изменить имя ключа на любое, в этом примере имя ключа my-release-key , псевдоним также зависит от вас, здесь псевдоним псевдоним .
  • ключ будетсоздано в соответствии с релизомВ папке se, сохраните этот ключ где-нибудь еще, чтобы опубликовать последующие сборки, а также сохраните псевдоним.
  • После создания ключа выполните jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore app-release-unsigned.apk alias_name, поместите то же имя псевдонима вместо псевдоним_10 и хранилище ключейимя вместо my-release-key.keystore , которое вы выбрали на шаге 4, убедитесь, что вы выпускаете apk-имя, такое же как app-release-unsigned.apk , если оно отличаетсяизмените это также.
  • в конце запустите zipalign -v 4 app-release-unsigned.apk myapp.apk, чтобы сжать ваше приложение, это создаст сжатый apk с именем myapp.apk это тот же самый apk, который вы будете использовать для публикации.
0 голосов
/ 10 октября 2018

Я набрал неправильную команду.Правильным для генерации является

ionic cordova build --release

, а затем, чтобы сгенерировать ключ впервые, я использовал следующие команды:

keytool -genkey -v -keystore xxx.keystore -alias xxx-app-key -keyalg RSA -keysize 2048 -validity 10000

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore GestaoDespesas.keystore platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk xxx-app-key

.\zipalign -v 4 platforms\android\app\build\outputs\apk\release\xxx.apk xxx.apk
0 голосов
/ 08 октября 2018

Проверено, находится ли android.keystore в каталоге C: \ Projetos \ XXX.Также проверьте, что app-release-unsigned.apk присутствует на платформах / android / app / build / output / apk / release / app-release-unsigned.apk по этому пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...