Я сделал образец приложения с именем checkStatus
. Теперь я хочу создать подписанный файл APK. Так что я могу установить его на разных устройствах для моего тестирования.
Для этого я погуглил и нашел эту документацию .
Согласно документу, я переключился на каталог своего проекта и выполнил следующую команду:
keytool -genkey -v -keystore key-name.keystore -alias alias-name -keyalg RSA -keysize 2048 -validity 10000
После того, как я выполнил вышеупомянутую команду, я получил файл с именем key-name.keystore
в projectRoot/key-name.keystore
.
А потом я скопировал этот файл в projectRoot/platforms/android/key-name.keystore
.
После этого я создал файл с именем ant.properties
и сохранил его в projectRoot/platforms/android
.
Я написал следующий код внутри файла:
key.store=projectRoot/key-name.keystore
key.alias=myApp
После этого я выполнил следующую команду
Cordova builds android --release
Выдает следующую ошибку:
/home/projectRoot/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: ant with args: release,-f,/home/projectRoot/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /home/projectRoot/platforms/android/cordova/build: Command failed with exit code 8
at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
Поэтому на этот раз я изменил key.store
значение в ant.properties
файле следующим образом.
key.store=/home/projectRoot/platforms/android/key-name.keystore
Я снова запустил cordova build android --release
команду. Выдает ту же ошибку.
Может кто-нибудь сказать мне, что я сделал не так?
Ответы:
Шаг 1:
добавить
--save
так, чтобы он удалял плагин изconfig.xml
файла.Шаг 2:
Чтобы сгенерировать сборку релиза для Android, сначала нужно внести небольшое изменение в
AndroidManifest.xml
файл, найденный в platform / android. Отредактируйте файл и измените строку:и изменить
android:debuggable
наfalse
:Начиная с cordova 6.2.0 полностью удалите тег android: debuggable. Вот объяснение от Кордова:
Если, с другой стороны, вы указываете конкретное значение в файле манифеста, то инструменты всегда будут его использовать. Это может привести к случайной публикации вашего приложения с отладочной информацией.
Шаг 3:
Теперь мы можем сказать кордове сгенерировать сборку релиза
Затем мы можем найти наш неподписанный файл APK в
platforms/android/ant-build
. В нашем примере файл былplatforms/android/ant-build/Example-release-unsigned.apk
Шаг 4:
Примечание. У нас есть хранилище ключей
keystoreNAME-mobileapps.keystore
в этом Git Repo. Если вы хотите создать другое, выполните следующие действия.Генерация ключей:
Синтаксис:
Egs:
Затем хранилище ключей было сгенерировано с именем NAME-mobileapps.keystore.
Шаг 5:
Поместите сгенерированный склад ключей в
старая версия кордова
Новая версия Cordova
Чтобы подписать неподписанный APK, запустите инструмент jarsigner, который также включен в JDK:
Синтаксис:
Egs:
ИЛИ
Это подписывает apk на месте.
Шаг 6:
Наконец, нам нужно запустить инструмент выравнивания по zip для оптимизации APK:
ИЛИ
ИЛИ
Теперь у нас есть финальный бинарный файл с именем example.apk, и мы можем выпустить его в магазине Google Play.
источник
-tsa timestamp.digicert.com
для меня исключение NullPointerException.-tsa http://timestamp.digicert.com
кажется, это исправитьОбновление @malcubierre для Cordova 4 (и более поздних версий) -
Создать файл с именем
release-signing.properties
и положить вAPPFOLDER\platforms\android
папкуСодержимое файла: изменить после = для всех, кроме 2-й строки
Затем эта команда должна создать версию выпуска:
источник
build-extras.gradle
файле. Соответствующие документы здесь .В текущей документации мы можем указать build.json с хранилищем ключей:
А затем выполните коммандос с аргументом --buildConfig следующим образом:
источник
Шаг 1:
Перейдите к
cordova\platforms\android
ant и создайтеant.properties
файл с именем file с информацией о файле хранилища ключей (это хранилище ключей можно создать из вашего любимого Android SDK, studio ...):Шаг 2:
Перейти к кордовой дорожке и выполнить:
Примечание. Вам будет предложено задать хранилище ключей и пароль.
YourApp-release.apk появится в
\cordova\platforms\android\ant-build
источник
В cordova 6.2.0 есть простой способ создать релизную сборку. см. другие шаги здесь Шаги 1, 2 и 4
источник
The system cannot find the file specified
использования Cordova 6.2.0cordova build android --release -- --keystore="C:\release.keystore" --storePassword=****** --alias=mr5
"
(двойная кавычка), он начал работать. Я думаю, что у Кордовы есть проблема с разбором специальных символов.На Mac (osx) я сгенерировал два файла .sh, один для первой публикации, а другой для обновления:
И чтобы обновить ваше приложение:
Предполагая, что вы находитесь в своей домашней папке или в папке, на которой расположены ваши приложения. Убедитесь, что вы правильно установили chmod для использования этого скрипта. Затем :
Ваш подписанный apk будет находиться в папке «Ваше приложение» / platform / android / build / output / apk / as SignedApk.apk. Убедитесь, что вы используете правильный псевдоним ключа и пароль, определенные в первом скрипте.
источник
Сборка релиза кордова APK файл в cmd.
ПУТЬ К ФАЙЛАМ KEY STORE : путь к файлу хранилища ключей (F: /cordova/myApp/xxxxx.jks)
ПАРОЛЬ КЛЮЧЕВОГО МАГАЗИНА : ххххх
КЛЮЧЕВОЙ МАГАЗИН ALIAS : ххххх
КЛЮЧ МАГАЗИН АЛИАС ПАРОЛЬ : ххххх
ПУТЬ zipalign.exe : путь к файлу zipalign.exe (C: \ Users \ xxxx \ AppData \ Local \ Android \ sdk \ build-tools \ 25.0.2 \ zipalign)
ANDROID UNSIGNED APK ИМЯ : android-release-unsigned.apk
ANDROID RELEASE APK ИМЯ : android-release.apk
Запустите следующие шаги в cmd (запустите от имени администратора)
источник
источник
Сначала проверьте свой код версии и название версии, если вы обновляете свое приложение. И убедитесь, что у вас есть предыдущий склад ключей.
Если вы обновляете приложение, выполните шаг 1,3,4.
Шаг 1:
Перейдите к вашему проекту Cordova для создания нашего релиза сборки:
Затем мы можем найти наш неподписанный APK-файл в platform / android / ant-build. В нашем примере файл был
если ты использовал муравейник
ИЛИ
если вы использовали gradle-build
Шаг 2:
Генерация ключей:
Синтаксис:
если команда keytool не распознает, сделайте этот шаг
Убедитесь, что каталог, в котором находится исполняемый файл keytool, находится на вашем пути. (Например, на моем компьютере с Windows 7 он находится в C: \ Program Files (x86) \ Java \ jre6 \ bin.)
Пример:
Затем хранилище ключей было сгенерировано с именем NAME-mobileapps.keystore.
Шаг 3:
Поместите сгенерированное хранилище ключей в D: \ projects \ Phonegap \ Example \ platform \ android \ ant-build
Чтобы подписать неподписанный APK, запустите инструмент jarsigner, который также включен в JDK:
Синтаксис:
Если это не соответствует, сделайте эти шаги
(1) Щелкните правой кнопкой мыши «Этот ПК»> щелкните правой кнопкой мыши Свойства> Дополнительные параметры системы> Переменные среды> выберите ПУТЬ, затем РЕДАКТИРОВАТЬ.
(2) Добавьте путь к папке jdk bin в переменные окружения, он должен выглядеть следующим образом:
"C: \ Program Files \ Java \ jdk1.8.0_40 \ bin".
Пример:
Это подписывает apk на месте.
Шаг 4:
Наконец, нам нужно запустить инструмент выравнивания по zip для оптимизации APK:
если zipalign не признать, то
(1) перейдите на путь Android SDK и найдите zipalign, который обычно находится в Android-SDK \ build-tools \ 23.0.3
(2) Скопируйте файл zipalign и вставьте его в папку apk для создания релиза, как правило, по указанному ниже пути.
yourproject / платформы / Android / муравей-сборка / Пример релиз-unsigned.apk
ИЛИ
Теперь у нас есть финальный бинарный файл с именем example.apk, и мы можем выпустить его в магазине Google Play.
источник
Для Windows я создал
build.cmd
файл:(замените путь хранилища ключей и псевдоним)
Для Кордовы:
И для ионики:
Сохраните его в каталоге ptoject, вы можете дважды щелкнуть или открыть его с помощью cmd.
источник