Создайте Android-релиз apk на Phonegap 3.x CLI

Как я могу создать приложение для Android в локальном режиме, используя CLG Phonegap 3.x, готовый к выпуску? Я проверяю папку bin, сгенерированную внутри каталога platform/android проекта, и имеет только APK.debug.

Кстати, я использую эту команду: phonegap local build android

Ответ 1

Это для Phonegap 3.0.x - 3.3.x. Для PhoneGap 3.4.0 и выше см. ниже.

Найдена часть ответа здесь, в документации Phonegap. Полный процесс следующий:

  • Откройте окно командной строки и перейдите в /path/to/your/project/ платформы/android/cordova.

  • Запустите build --release. Это создает неподписанную версию APK в папке /path/to/your/project/ platform/android/bin, называемой YourAppName-release-unsigned.apk.

  • Подпишите и выровняйте APK, используя инструкции официальные документы разработчиков Android.

Благодаря @LaurieClark для ссылки (http://iphonedevlog.wordpress.com/2013/08/16/using-phonegap-3-0-cli-on-mac-osx-10-to-build-ios-and-android-projects/) и блоггера, который публикует его, потому что он поставил меня на трек.

Ответ 2

В PhoneGap 3.4.0 вы можете позвонить:

cordova build android --release

Если вы установили файл ant.properties 'в каталог "platform/android", как показано ниже:

key.store=/Path/to/KeyStore/myapp-release-key.keystore
key.alias=myapp

Затем вам будет предложено ввести пароль своего хранилища ключей, а выходной файл (myapp-release.apk) попадает в уже подписанный и выровненный каталог "platform/android/ ant -build", который готов к развертыванию.

Ответ 3

В кордове 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

Ответ 4

После @steven-anderson вы также можете настроить пароли внутри ant.properties, чтобы процесс был полностью автоматизирован

поэтому, если вы поместите в платформу \android\ ant.properties следующий

key.store=../../yourCertificate.jks
key.store.password=notSoSecretPassword
key.alias=userAlias
key.alias.password=notSoSecretPassword

Ответ 5

просто задумывался о многом, потому что у меня такая же проблема, но в моей установке команда "кордова" никогда не была доступна, а "phone gap build android --release" просто проигнорировала платформу /android/ ant.properties.

так что я смотрю внутри своего фильтра платформы. Я нашел папку с именем "cordova", и внутри нее существовал двоичный файл "build", который принимал аргумент --release, он спрашивал меня о цепочках ключей, и я закончил подпиской и готовый к выпуску APK.

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

Ответ 6

У меня это получилось, скопировав прикрепленное приложение в том же каталоге, что и zipalign. Кажется, что файл aapt.exe не смог найти исходный файл, даже если задан путь. то есть это не сработало zipalign -f -v 4 C:...\CordovaApp-release-unsigned.apk C:...\destination.apk он достиг aapt.exeCordovaApp-release-unsigned.apk, застыл и вернулся 'aapt.exeCordovaApp-release-unsigned.apk' не распознается как внутренняя или внешняя команда, операционная программа или командный файл. И это zipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apk

Ответ 7

Я знаю, что этот вопрос задает вопрос о Phonegap 3.X специально, но только для справки. Версия Phonegap выше 4.0.0 использует Gradle вместо Ant для создания по умолчанию. Чтобы использовать Ant вместо Gradle, вы можете добавить это в свой config.xml:

<preference name="android-build-tool" value="ant" />

При использовании Gradle информация о подписании хранилища ключей теперь должна перейти в новое место (как указано в этом сообщении). Создайте новый файл с именем "release-signing.properties" в той же папке, что и файл "build.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

Ответ 8

Вы можете попробовать эту команду, она должна создать и запустить приложение (так что .apk должен быть создан):

phonegap local run android