online generate generar compile app android cordova cordova-cli

android - generate - phonegap build ios



Crear apk de lanzamiento de Android en Phonegap 3.x CLI (9)

¿Cómo puedo construir una aplicación de Android localmente usando la CLI Phonegap 3.x, lista para lanzar? Compruebo la carpeta bin generada dentro de las plataformas / directorio de Android del proyecto, y solo tengo APK .debug.

Por cierto, uso este comando: phonegap local build android


Creación de la aplicación Android PhoneGap para su implementación en Google Play Store

Estos pasos funcionarían para Cordova, PhoneGap o Ionic. La única diferencia sería que, donde sea que se coloque una llamada a cordova , reemplácela por phonegap o ionic , para su situación particular.

Una vez que haya terminado con el desarrollo y esté listo para implementar, siga estos pasos:

  1. Abra una ventana de línea de comando (Terminal en macOS y Linux O Símbolo del sistema en Windows).

  2. Dirígete a / path / to / your / project /, que nos referiríamos como Project Root.

  3. Mientras esté en la raíz del proyecto, elimine el complemento "Consola" de su conjunto de complementos.

    El comando es: cordova plugin rm cordova-plugin-console

  4. Mientras se encuentre en la raíz del proyecto, use el comando de construcción de cordova para crear una APK para la distribución de la versión.

    El comando es: cordova build --release android

  5. El proceso anterior crea un archivo llamado android-release-unsigned.apk en la carpeta ProjectRoot/platforms/android/build/outputs/apk/

  6. Firme y alinee el APK usando las instrucciones en https://developer.android.com/studio/publish/app-signing.html#signing-manually

    Al final de este paso, la APK que obtienes puede cargarse en Play Store.

Nota: Como novato o principiante, el último paso puede ser un poco confuso como lo fue para mí. Uno puede encontrarse con algunos problemas y puede tener algunas preguntas sobre qué son estos comandos y dónde encontrarlos.

Q1. ¿Qué son jarsigner y keytool ?
Respuesta: Las instrucciones de firma de aplicaciones de Android te dicen específicamente de qué se tratan jarsigner y keytool PERO no te dice dónde encontrarlas si te encuentras con un ''error de comando no encontrado'' en la ventana de línea de comandos.

Por lo tanto, si tiene el Java Development Kit (JDK) agregado a su variable PATH , simplemente ejecutar los comandos como en la Guía funcionaría. PERO, si no lo tiene en su RUTA, siempre puede acceder a ellos desde la carpeta bin de su instalación JDK.

Q2. ¿Dónde está zipalign ?
Resp: hay una alta probabilidad de no encontrar el comando zipalign y recibir el ''error de comando no encontrado''. Probablemente estarás buscando en Google zipalign y dónde encontrarlo?

La utilidad zipalign está presente en la carpeta de instalación de Android SDK. En macOS, la ubicación predeterminada es, user-name/Library/Android/sdk/ . Si te diriges a la carpeta, encontrarás muchas otras carpetas como docs , platform-tools build-tools , tools , add-ons ...

Abra la carpeta de build-tools . cd build-tools . Aquí, habrá varias carpetas que están versionadas de acuerdo con la cadena de herramientas de compilación que está utilizando en el Administrador de Android SDK. ZipAlign está disponible en cada una de estas carpetas. Yo personalmente voy por la carpeta con la última versión. Abra cualquiera.

En macOS o Linux, puede que tenga que usar ./zipalign lugar de simplemente escribir en zipalign como lo menciona la documentación. En Windows, zipalign es lo suficientemente bueno.


Esto es para Phonegap 3.0.x a 3.3.x. Para PhoneGap 3.4.0 y superior, ver a below .

Se encontró parte de la respuesta here , en la documentación de Phonegap. El proceso completo es el siguiente:

  1. Abra una ventana de línea de comando y vaya a / ruta / a / su / proyecto / plataformas / android / cordova .

  2. Ejecutar build --release . Esto crea una carpeta de lanzamiento sin firmar en / path / to / your / project / platforms / android / bin , llamada YourAppName-release-unsigned.apk.

  3. Firme y alinee el APK usando las instrucciones en los documentos oficiales del desarrollador de 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 puedes llamar:

cordova build android --release

Si ha configurado el archivo ''ant.properties'' en el directorio ''plataformas / android'' del siguiente modo:

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

Luego se le solicitará la contraseña de su keystore y el archivo de salida (myapp-release.apk) terminará en el directorio ''platforms / android / ant-build'' ya firmado y alineado y listo para implementarse.


Lo hice funcionar copiando y pegando la aplicación firmada en el mismo directorio que zipalign. Parece que aapt.exe no pudo encontrar el archivo fuente incluso cuando se le dio la ruta. es decir, esto no funcionó zipalign -f -v 4 C: ... / CordovaApp-release-unsigned.apk C: ... / destination.apk alcanzó aapt.exeCordovaApp-release-unsigned.apk, se congeló y al golpear devuelve ''aapt.exeCordovaApp-release-unsigned.apk'' no se reconoce como un comando interno o externo, programa operable o archivo por lotes. Y esto hizo zipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apk


Me pregunté mucho porque tuve el mismo problema pero en mi instalación el comando "cordova" nunca estuvo disponible y "phone gap build android --release" simplemente ignoró la plataforma / android / ant.properties.

así que mirando dentro de mi filtro de plataforma encontré una carpeta llamada "cordova" y en su interior había un binario de "compilación" que aceptaba el argumento --release, me preguntó por los llaveros y terminé con un firmado y listo para producción APK.

esto nunca fue documentado en ninguna parte del sitio de brecha telefónica y, francamente, ahora odio un poco el teléfono :( se suponía que debía hacer las cosas más fáciles, pero todo era complicado :(


Podría probar este comando, debería compilar y ejecutar la aplicación (así debe crearse .apk):

phonegap local run android


Sé que esta pregunta se refiere específicamente a Phonegap 3.X, pero solo como referencia, cualquier versión de Phonegap anterior 4.0.0 usa Gradle en lugar de Ant para compilar de manera predeterminada. Para usar Ant en lugar de Gradle, puede agregar esto a su config.xml:

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

Cuando se utiliza Gradle, la información de firma del almacén de claves 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 póngalo dentro del 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


Siguiendo a @ steven-anderson, también puede configurar contraseñas dentro de ant.properties, para que el proceso pueda ser completamente automatizado

así que si pones en la plataforma / android / ant.properties lo siguiente

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


En cordova 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:

De acuerdo con cordova 5.0.0

{ "android": { "release": { "keystore": "app-release-key.keystore", "alias": "alias_name" } } }

y ejecuta ./build --release --buildConfig build.json desde las platforms/android/cordova/ directorio platforms/android/cordova/

La ubicación del archivo keystore es relativa a platforms/android/cordova/ , por lo que en la configuración anterior, el archivo build.json 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