Создайте 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