Construye android release apk en Phonegap 3.x CLI
¿Cómo puedo construir una aplicación de Android localmente con la CLI Phonegap 3.x, lista para lanzar? Compruebo la carpeta bin generada dentro del directorio plataformas / android del proyecto, y sólo tiene APKs .debug.
Por cierto, utilizo este comando: phonegap local build android
- Cómo cambiar el nombre de la aplicación phonegap
- Cómo deshabilitar la reproducción de fondo de vídeo al salir de la aplicación Córdoba android
- Cordova Plugin error de la cámara en el paquete
- Intentando construir Android Emulator con ionic falla .. "Clase no encontrada: javac1.8"
- PhoneGap + JQuery Mobile + Google Maps v3: mapa muestra azulejos de la parte superior izquierda?
- LaunchNavigator Ionic2 plugin no está instalado
- Cordova cámara plugin, obtener la ruta de la imagen completa de la galería
- Phonegap Construye aplicación con Crosswalk en Android
- Phonegap Android y satélite GPS
- Cordova quiere android-19, tengo android-20
- Córdoba: cómo tomar una foto sin usar la aplicación de cámara
- ¿Hay una solución real para depurar aplicaciones cordova
- phonegap construir android no hace nada
Esto es para Phonegap 3.0.x a 3.3.x. Para PhoneGap 3.4.0 y versiones superiores vea a continuación .
Encontramos parte de la respuesta aquí , en la documentación de Phonegap. El proceso completo es el siguiente:
-
Abra una ventana de línea de comandos y vaya a / path / to / your / project / platforms / android / cordova .
-
Ejecutar
build --release
. Esto crea una APK no firmada en la carpeta / path / to / your / project / platforms / android / bin , denominada YourAppName-release-unsigned.apk. -
Firme y alinee el APK utilizando las instrucciones en los documentos oficiales del desarrollador android .
Gracias a @LaurieClark por el enlace ( http://iphonedevlog.wordpress.com/2013/08/16/using-phonegap-3-0-cli-on-mac-osx-10-to-build-ios-and- Android-projects / ), y el blogger que lo publica, porque me puso en la pista.
En PhoneGap 3.4.0 puede llamar a:
cordova build android --release
Si ha configurado el archivo 'ant.properties' en el directorio 'plataformas / android' como el siguiente:
key.store=/Path/to/KeyStore/myapp-release-key.keystore key.alias=myapp
A continuación, se le pedirá la contraseña de su almacén de claves y el archivo de salida (myapp-release.apk) terminará en el directorio 'plataformas / android / ant-build' ya firmado y alineado y listo para implementarse.
En Córdoba 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
Respuesta anterior:
Según cordova 5.0.0
{ "android": { "release": { "keystore": "app-release-key.keystore", "alias": "alias_name" } } }
Y ejecutar ./build --release --buildConfig build.json
desde platforms/android/cordova/
directorio platforms/android/cordova/
Keystore es relativa a las platforms/android/cordova/
, por lo que en la configuración anterior .keystore
file y build.json
están en el mismo directorio.
keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Siguiendo a @ steven-anderson también puede configurar contraseñas dentro de la ant.properties, para que el proceso pueda ser totalmente automatizado
Por lo que si pone en plataforma \ android \ ant.properties el siguiente
key.store=../../yourCertificate.jks key.store.password=notSoSecretPassword key.alias=userAlias key.alias.password=notSoSecretPassword
Sólo me preguntaba en torno a un montón porque tengo el mismo problema, pero en mi instalación el comando "cordova" nunca estaba disponible y "phone gap build android –release" simplemente ignorado la plataforma / android / ant.properties.
Así que mirando dentro de mi filtro de plataforma encontré una carpeta llamada "cordova" y dentro de ella había un binario "build" que aceptó el argumento –release, me pidió las cadenas de claves y terminé con un firmado y listo para la producción APK.
Esto nunca fue documentado en ninguna parte de la brecha telefónica sitio y francamente hablando ahora un poco odio phonegap 🙁 se suponía que hacer las cosas más fáciles, pero todo era simplemente complicado 🙁
Conseguí esto trabajar por la copia que pega la aplicación firmada en el mismo dir que zipalign. Parece que aapt.exe no pudo encontrar el archivo de origen incluso cuando se le dio la ruta de acceso. Esto no funcionó zipalign -f -v 4 C: … \ CordovaApp-release-unsigned.apk C: … \ destination.apk llegó aapt.exeCordovaApp-release-unsigned.apk, se congeló y al volver a golpear 'Aapt.exeCordovaApp-release-unsigned.apk' no se reconoce como un comando interno o externo, un programa operativo o un archivo por lotes. Y esto hizo zipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apk
Sé que esta pregunta pregunta sobre Phonegap 3.X específicamente, pero apenas para la referencia cualquier versión de Phonegap sobre 4.0.0 utiliza Gradle en vez de Ant para construir por abandono. Para usar Ant en lugar de Gradle puedes agregar esto a tu config.xml:
<preference name="android-build-tool" value="ant" />
Cuando use Gradle, la información de firma de keystore ahora necesita ir a una nueva ubicación ( como se describe en esta publicación ). Cree un nuevo archivo llamado ' release-signing.properties ' en la misma carpeta que el archivo "build.gradle" y colóquelo en el siguiente contenido:
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
Usted podría intentar este comando, debe construir y ejecutar la aplicación (para que .apk debe ser creado):
phonegap local run android
- Uso de la biblioteca ViewPagerIndicator con Android Studio y Gradle
- Aplicación para Android de YouTube