Paso 1:
D:\projects\Phonegap\Example> cordova plugin rm org.apache.cordova.console --save
agregue el --save
para que elimine el complemento del config.xml
archivo.
Paso 2:
Para generar una versión de lanzamiento para Android, primero debemos hacer un pequeño cambio en el AndroidManifest.xml
archivo que se encuentra en plataformas / Android. Edite el archivo y cambie la línea:
<application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
y cambiar android:debuggable
a false
:
<application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
A partir de cordova 6.2.0, elimine completamente la etiqueta android: debuggable. Aquí está la explicación de Córdoba:
Explicación de los problemas de tipo "HardcodedDebugMode": es mejor omitir el atributo android: debuggable del manifiesto. Si lo hace, las herramientas insertarán automáticamente android: debuggable = true al crear un APK para depurar en un emulador o dispositivo. Y cuando realiza una compilación de lanzamiento, como Exportar APK, lo configurará automáticamente en falso.
Si, por otro lado, especifica un valor específico en el archivo de manifiesto, las herramientas siempre lo usarán. Esto puede llevar a publicar accidentalmente su aplicación con información de depuración.
Paso 3:
Ahora podemos decirle a cordova que genere nuestra versión de lanzamiento:
D:\projects\Phonegap\Example> cordova build --release android
Luego, podemos encontrar nuestro archivo APK sin firmar en platforms/android/ant-build
. En nuestro ejemplo, el archivo fueplatforms/android/ant-build/Example-release-unsigned.apk
Paso 4:
Nota: Tenemos nuestro almacén keystoreNAME-mobileapps.keystore
de claves en este repositorio de Git, si desea crear otro, continúe con los siguientes pasos.
Generación clave:
Sintaxis:
keytool -genkey -v -keystore <keystoreName>.keystore -alias <Keystore AliasName> -keyalg <Key algorithm> -keysize <Key size> -validity <Key Validity in Days>
Egs:
keytool -genkey -v -keystore NAME-mobileapps.keystore -alias NAMEmobileapps -keyalg RSA -keysize 2048 -validity 10000
keystore password? : xxxxxxx
What is your first and last name? : xxxxxx
What is the name of your organizational unit? : xxxxxxxx
What is the name of your organization? : xxxxxxxxx
What is the name of your City or Locality? : xxxxxxx
What is the name of your State or Province? : xxxxx
What is the two-letter country code for this unit? : xxx
Luego, el almacén de claves se ha generado con el nombre NAME-mobileapps.keystore
Paso 5:
Coloque el almacén de claves generado en
versión antigua cordova
D:\projects\Phonegap\Example\platforms\android\ant-build
Nueva versión cordova
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk
Para firmar el APK sin firmar, ejecute la herramienta jarsigner que también se incluye en el JDK:
Sintaxis:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystorename> <Unsigned APK file> <Keystore Alias name>
Egs:
D:\projects\Phonegap\Example\platforms\android\ant-build> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps
O
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps
Enter KeyPhrase as 'xxxxxxxx'
Esto firma el apk en su lugar.
Paso 6:
Finalmente, necesitamos ejecutar la herramienta de alineación zip para optimizar el APK:
D:\projects\Phonegap\Example\platforms\android\ant-build> zipalign -v 4 Example-release-unsigned.apk Example.apk
O
D:\projects\Phonegap\Example\platforms\android\ant-build> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk
O
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk
Ahora tenemos nuestro binario de lanzamiento final llamado example.apk y podemos lanzarlo en Google Play Store.