Построить Android релиз apk на Phonegap 3.X CLI
Как я могу создать приложение для android локально с помощью Phonegap 3.x CLI, готов к выпуску? Я проверяю папку bin, созданную внутри каталога platforms / android проекта, и только имеет .отладка APKs.
кстати, я использую эту команду: phonegap local build android
9 ответов
Это для Phonegap 3.0.x-3.3.X. Для PhoneGap 3.4.0 и выше см. ниже.
найдена часть ответа здесь, в документации Phonegap. Полный процесс заключается в следующем:
откройте окно командной строки и перейдите в /path/to/your/project/платформы / android / cordova.
Run
build --release
. Это создает unsigned релиз APK на /путь/к/проекта/платформы / android / bin папка, называемая YourAppName-release-unsigned.АПК.подписать и выровнять APK, используя инструкции в Android developer официальные документы.
спасибо @LaurieClark за ссылку (http://iphonedevlog.wordpress.com/2013/08/16/using-phonegap-3-0-cli-on-mac-osx-10-to-build-ios-and-android-projects/), и блогер, который его публикует, потому что он поставил меня на трассе.
в PhoneGap 3.4.0 вы можете позвонить:
cordova build android --release
Если вы настроили ' ant.файл свойств в каталоге "платформы / android" выглядит следующим образом:
key.store=/Path/to/KeyStore/myapp-release-key.keystore
key.alias=myapp
затем вам будет предложено ввести пароль хранилища ключей и выходной файл (myapp-release.apk) попадает в каталог "платформы/android/ant-build", уже подписанный и выровненный и готовый к развертыванию.
в Кордове 6.2.0
cd cordova/ #change to root cordova folder
platforms/android/cordova/clean #clean if you want
cordova build android --release -- --keystore="/path/to/keystore" --storePassword=password --alias=alias_name #password will be prompted if you have any
предыдущий ответ:
согласно cordova 5.0.0
{
"android": {
"release": {
"keystore": "app-release-key.keystore",
"alias": "alias_name"
}
}
}
и работать ./build --release --buildConfig build.json
из каталога platforms/android/cordova/
расположение файла хранилища ключей относительно platforms/android/cordova/
, поэтому в вышеуказанной конфигурации .keystore
файл и build.json
находятся в том же каталоге.
keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
продолжение @steven-anderson вы также можете настроить пароли внутри муравейников.свойства, поэтому процесс может быть полностью автоматизирован
Итак, если вы поместите в platform\android\ant.свойства следующие
key.store=../../yourCertificate.jks
key.store.password=notSoSecretPassword
key.alias=userAlias
key.alias.password=notSoSecretPassword
просто задавался вопросом, потому что я получил ту же проблему, но в моей установке команда "cordova" никогда не была доступна, а "phone gap build android --release" просто игнорировала платформу/android/ant.свойства.
поэтому, заглянув в мой фильтр платформы, я нашел папку с именем "cordova" , и внутри нее был двоичный файл" build", который принял аргумент -- release, он попросил меня о цепочках ключей, и я закончил подписанным и готовым к производству АПК.
Это никогда не было задокументировано ни в одной части сайта phone gap, и, честно говоря, теперь я ненавижу phonegap : (это должно было сделать вещи проще, но все было просто сложно : (
Я получил это для работы, скопировав вставку подписанного приложения в том же dir, что и zipalign. Кажется, что aapt.exe не удалось найти исходный файл, даже если указан путь. т. е. это не работа zipalign-f-v 4 C:...\CordovaApp-release-без знака.apk C:...\назначение.apk он достиг апта.exeCordovaApp-release-без подписи.apk, застыл и после нажатия return 'aapt.exeCordovaApp-release-без подписи.АПК' не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом. И это делавший zipalign-f-v 4 CordovaApp-release-без знака.apk myappname.apk
Я знаю, что этот вопрос задает о Phonegap 3.X конкретно, но только для справки любой версия Phonegap выше 4.0.0 использует Gradle вместо Ant построить по умолчанию. Чтобы использовать Ant вместо Gradle, вы можете добавить это в свою конфигурацию.XML-код:
<preference name="android-build-tool" value="ant" />
при использовании Gradle информация о подписи хранилища ключей теперь должна перейти в новое место (как описано в этом посте). Создайте новый файл под названием 'релиз-подписание.свойства в то же папку как "построить.gradle " файл и поместить внутри следующего содержания:
storeFile=..\..\some-keystore.keystore
storeType=jks
keyAlias=some-key
// if you don't want to enter the password at every build, you can store it with this
keyPassword=your-key-password
storePassword=your-store-password
создание приложения PhoneGap для Android для развертывания в Google Play Store
эти шаги будут работать для Cordova, PhoneGap или Ionic. Единственное различие было бы, где бы призыв cordova
помещается, замените его на phonegap
или ionic
, для вашего конкретного сценария.
как только вы закончите разработку и будете готовы к развертыванию, выполните следующие действия:
откройте окно командной строки (терминала macOS и Linux или командная строка в Windows).
перейдите к /path/to/your/ project/, который мы будем называть корнем проекта.
находясь в корне проекта, удалите плагин "консоль" из вашего набора плагинов.
команда:cordova plugin rm cordova-plugin-console
находясь в корне проекта, используйте команду Cordova build для создания APK для выпуска распределение.
команда:cordova build --release android
вышеуказанный процесс создает файл с именем
android-release-unsigned.apk
в папкеProjectRoot/platforms/android/build/outputs/apk/
подписать и выровнять APK, используя инструкции на https://developer.android.com/studio/publish/app-signing.html#signing-manually
в конце этого шага APK, который вы получаете, можно загрузить в игру Магазин.
Примечание: как новичок или новичок, прошедший шаг может быть немного запутанным, как это было со мной. Можно столкнуться с несколькими проблемами и могут возникнуть некоторые вопросы о том, что это за команды и где их найти.
Q1. Каковы jarsigner и keytool?
Ans: инструкции по подписанию Android-приложений говорят вам конкретно, что jarsigner и keytool все о, но он не говорит вам, где их найти, если вы столкнетесь с "командой не найдена ошибка" в окне командной строки.
Таким образом, если у вас есть Java Development Kit(JDK), добавленный в ваш путь переменная, просто запуск команд, как в руководстве будет работать. Но, если у вас его нет на вашем пути, вы всегда можете получить к ним доступ из bin папка вашего JDK установка.
Q2. Где zipalign?
Ans: существует высокая вероятность не найти zipalign команда и получить "команда не найдена ошибка". Вы, вероятно, будете гуглить zipalign и где его найти?
The zipalign утилита присутствует в папке установки Android SDK. В macOS расположение по умолчанию:user-name/Library/Android/sdk/
. Если ты поедешь ... в папке вы найдете кучу других папок, как docs
, platform-tools
, build-tools
, tools
, add-ons
...
Откройте
вы можете попробовать эту команду, она должна построить и запустить приложение (так .apk должен быть создан):
phonegap local run android