Saltar al contenido

¿Cómo crear un archivo APK firmado usando la interfaz de línea de comandos de Cordova?

Esta es el arreglo más acertada que te podemos aportar, pero obsérvala detenidamente y analiza si es compatible a tu trabajo.

Solución:

Paso 1:

D:projectsPhonegapExample> cordova plugin rm org.apache.cordova.console --save

añade el --save para que elimine el complemento de la config.xml expediente.

Paso 2:

Para generar una versión de versión para Android, primero debemos realizar un pequeño cambio en el AndroidManifest.xml archivo encontrado en plataformas / android. Edite el archivo y cambie la línea:


y cambio android:debuggable para false:


A partir de cordova 6.2.0, elimine completamente la etiqueta android: debuggable. Aquí está la explicación de Córdoba:

Explicación para problemas de tipo “HardcodedDebugMode”: es mejor dejar fuera el android: debuggable attribute del manifiesto. Si lo hace, las herramientas insertarán automáticamente android: debuggable =true
al compilar un APK para depurarlo en un emulador o dispositivo. Y cuando realiza una compilación de lanzamiento, como Exportar APK, se configurará automáticamente en false.

Si, por otro lado, especifica un valor específico en el archivo de manifiesto, las herramientas siempre lo usarán. Esto puede provocar la publicación accidental de su aplicación con información de depuración.

Paso 3:

Ahora podemos decirle a cordova que genere nuestra versión de lanzamiento:

D:projectsPhonegapExample> cordova build --release android

Luego, podemos encontrar nuestro archivo APK sin firmar en platforms/android/ant-build. En nuestro ejemplo, el archivo fue platforms/android/ant-build/Example-release-unsigned.apk

Paso 4:

Nota: tenemos nuestro almacén de claves keystoreNAME-mobileapps.keystore en este Git Repo, si desea crear otro, proceda con los siguientes pasos.

Generación de claves:

Sintaxis:

keytool -genkey -v -keystore .keystore -alias  -keyalg  -keysize  -validity 

Huevos:

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, la tienda de claves se ha generado con el nombre NAME-mobileapps.keystore

Paso 5:

Coloque el almacén de claves generado en

cordova versión antigua

D:projectsPhonegapExampleplatformsandroidant-build

Nueva version cordova

D:projectsPhonegapExampleplatformsandroidbuildoutputsapk

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   

Huevos:

D:projectsPhonegapExampleplatformsandroidant-build> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps

O

D:projectsPhonegapExampleplatformsandroidbuildoutputsapk> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps

Enter KeyPhrase as 'xxxxxxxx'

Esto firma la apk en su lugar.

Paso 6:

Finalmente, necesitamos ejecutar la herramienta de alineación zip para optimizar el APK:

D:projectsPhonegapExampleplatformsandroidant-build> zipalign -v 4 Example-release-unsigned.apk Example.apk 

O

D:projectsPhonegapExampleplatformsandroidant-build> C:Phonegapadt-bundle-windows-x86_64-20140624sdkbuild-toolsandroid-4.4Wzipalign -v 4 Example-release-unsigned.apk Example.apk

O

D:projectsPhonegapExampleplatformsandroidbuildoutputsapk> C:Phonegapadt-bundle-windows-x86_64-20140624sdkbuild-toolsandroid-4.4Wzipalign -v 4 Example-release-unsigned.apk Example.apk

Ahora tenemos nuestro binario de lanzamiento final llamado example.apk y podemos publicarlo en Google Play Store.

Una actualización de @malcubierre para Cordova 4 (y posterior) –

Crea un archivo llamado release-signing.properties y poner en APPFOLDERplatformsandroid carpeta

Contenido del archivo: editar después = para todos excepto la segunda línea

storeFile=C:/yourlocation/app.keystore
storeType=jks
keyAlias=aliasname
keyPassword=aliaspass
storePassword=password

Entonces este comando debería crear una versión de lanzamiento:

cordova build android --release

ACTUALIZACIÓN: esto no me funcionó Cordova 10 with android 9 – La compilación reemplazaba el archivo release-signing.properties. Tuve que hacer un build.json y suéltelo en la carpeta de la aplicación, al igual que root. Y este es el contenido: reemplácelo como se indicó anteriormente:


"android": 
    "release": 
       "keystore": "C:/yourlocation/app.keystore",
        "storePassword": "password",
        "alias": "aliasname",
        "password" : "aliaspass",
        "keystoreType": ""
    


Ejecútelo y generará uno de esos release-signing.properties en la carpeta de Android

En la documentación actual podemos especificar un build.json con el almacén de claves:


     "android": 
         "debug": 
             "keystore": "..android.keystore",
             "storePassword": "android",
             "alias": "mykey1",
             "password" : "password",
             "keystoreType": ""
         ,
         "release": 
             "keystore": "..android.keystore",
             "storePassword": "",
             "alias": "mykey2",
             "password" : "password",
             "keystoreType": ""
         
     
 

Y luego, ejecute el comando con –buildConfig argumente, de esta manera:

cordova run android --buildConfig

Si posees alguna cuestión y disposición de aumentar nuestro enunciado eres capaz de escribir una anotación y con gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *