Cordova 6.4.0 Error de Android al crear una versión de apk
Tenía un proyecto funcionando bien en Córdoba 6.3.1.
Entonces actualizé cordova y mi proyecto a 6.4.0. Después de esto, la primera vez que construí, gradle se actualizó automáticamente también.
- La aplicación no está instalada
- Gradle lanzamiento de construcción todavía debuggable?
- Android: ExternalSystemException: Índice de cadenas fuera de rango: -130 building release
- Fallo de construcción Gradle
- Lint se queja de que no se ha traducido la cadena gcm_defaultSenderId
Ahora estoy experimentando un problema importante:
Necesito incluir las contraseñas keystore y alias en el archivo build.json o la generación release apk falla con error.
Utilizo un archivo build.json como este:
{ "android": { "debug": { "keystore": "C:\\Path\\To\\Keystores\\debug.keystore", "storePassword": "debugpass", "alias": "thedebugalias", "password" : "debugpass", "keystoreType": "" }, "release": { "keystore": "C:\\Path\\To\\Keystores\\theapp.keystore", "storePassword": "", "alias": "thealias", "password" : "", "keystoreType": "" } }
}
Y luego ejecuta este comando para generar la versión apk:
cordova build android --release --buildConfig=build.json
Hasta ahora, esto funcionó bien y me llevó a introducir tanto las contraseñas de keystore como las de alias. Y luego construyó el ok APK.
Después de actualizar a Cordova 6.4.0, ya no funciona. Nunca solicita las contraseñas y el proceso de construcción falla porque "el almacén de claves se ha alterado o la contraseña es incorrecta".
Si incluyo las contraseñas en el archivo build.json, la release apk se genera bien, ya que ya tiene las contraseñas allí y no necesita pedirlas.
No me gusta tener las contraseñas del almacén de claves en texto sin formato en el archivo build.json. ¿Alguien ha experimentado este mismo problema? ¿Alguna idea sobre cómo solucionar este problema?
Gracias.
EDIT: Noté otro problema. No está mostrando mis iconos y pantallas de bienvenida. EDIT: Este último problema, sobre no mostrar iconos y pantallas de bienvenida, es un error en la nueva versión de Cordova y se está resolviendo https://issues.apache.org/jira/browse/CB-12077
- Signin de Google Firebase dando estado 12501 (no funciona), en la versión de creación de la versión y jks SHA
- Phonegap construir versión de lanzamiento localmente (sin Phonegap Build)
- Android Studio Signed APK no está instalando
- Creación de Debug vs. Release en el NDK de Android
- Cómo crear una versión firmada apk archivo utilizando Gradle?
Este problema ha sido resuelto: https://issues.apache.org/jira/browse/CB-12159
A partir de ahora puedes usar la cordova platform add [email protected]
or cordova platform add https://github.com/apache/cordova-android
Tenga en cuenta que el segundo comando añade la última versión y puede introducir otros errores ….
En el futuro puedes usar la cordova platform add [email protected]
pero a partir de ahora 6.2.0
no existe. (Marque aquí: https://github.com/apache/cordova-android/releases )
¿Puedes poner tu contraseña en tu build.json y ver si funciona.
{ "android": { "release": { "keystore": "path\\to\\keystore.keystore", "storePassword": "password", "alias": "alias", "password" : "password", "keystoreType": "" } } }
Estoy en la misma versión que tú, y este es mi build.json.
A continuación, sólo cambiar a liberar y construir la solución para obtener release.apk
Sé cmd4life , disculpas si ofendido!
Intente cambiar build.gradle
' if (task.name == 'validateReleaseSigning')
a if (task.name == 'assembleRelease')
.
Esto probablemente esté relacionado con la actualización de la versión gradle en actualizaciones cordova-android recientes.
Actualización : Parece que el nombre de la tarea validateReleaseSigning
se cambió a validateSigningRelease
en la versión Gradle más reciente: \
Por lo tanto, el problema debe arreglarse en una próxima versión de la plataforma (actual es 6.2.0-dev).
Actualización # 2 : El PR se fusionó para que pueda utilizar cordova platform add https://github.com/apache/cordova-android
por ahora (tenga cuidado con las versiones inéditas sin embargo).