cordova - plugin - Creación de una aplicación combinada de armv7/x86 después de la integración de Crosswalk en un proyecto iónico
crosswalk project service (4)
A partir de hoy, en 2018, probablemente podamos ignorar la plataforma móvil x86, ya que de hecho no hay ningún móvil que use la CPU Intel.
Esto tiene la ventaja de una APK más pequeña. Un APK de plataforma única es más pequeño que el APK multiplataforma.
He agregado Crosswalk a mi proyecto iónico. Cuando hago ionic build android
, emite dos archivos APK por separado, uno para armv7 y otro para x86.
Sin embargo, quiero un solo archivo apk que agrupe dos arquitecturas juntas.
Intenté configurar BUILD_MULTIPLE_APKS = false
pero todavía está compilando dos apk por separado.
Aquí hay una publicación que dice:
Me tomó un minuto pero puedes obtener el archivo de compilación único comentando la línea cdvBuildMultipleApks = true en las plataformas / android / gradle.properties
Aclamaciones
Pero no tengo ningún archivo gradle.properties en mi plataforma / android / folder, tengo un archivo project.properties y no hay cdvBuildMultipleApks=true
línea cdvBuildMultipleApks=true
para comentar.
Traté de crear manualmente un archivo gradle.properties y poner cdvBuildMultipleApks=false
allí pero todavía dos salidas.
¿Alguna idea de cómo lograr esto?
Actualizar:
La versión de My Cordova es 5.1.1
Solución:
Lo que funcionó para mí como lo sugirió @mudasserajaz y here , fue para:
- Crea un archivo llamado
build-extras.gradle
dentro de mi directorio/platform/android/
. - poner
ext.cdvBuildMultipleApks=false
dentro de él. -
ionic build android --release
y Voila, funcionó.
@mudasserajaz sugirió lo mismo, excepto que el nombre de la variable es cdvBuildMultipleApks=false
por lo que, en caso de que no funcione, no olvides la ext
Aquí hay pasos para hacer eso:
- Crea un archivo
build-extras.gradle
y ponlo enplatforms/android/
. Agregue la líneacdvBuildMultipleApks=false
abuild-extras.gradle
. - Ahora ejecute
ionic run android
, creará compilación únicaandroid-debug.apk
.
build.gradle
importará automáticamente build-extras.gradle
, si está definido. Puedes ver el código de build.gradle
haciendo esto:
def hasBuildExtras = file(''build-extras.gradle'').exists()
if (hasBuildExtras) {
apply from: ''build-extras.gradle''
}
Además, estas instrucciones se mencionan claramente en build.gradle
línea 57:
Propiedades de configuración. Establezca estos a través de variables de entorno, build-extras.gradle o gradle.properties.
NOTA: antes de seguir estos pasos, retire la carpeta de la plataforma e instálela nuevamente.
Observaciones: Una vez que haya realizado estos pasos, y de nuevo en algún momento, desea hacer compilaciones por separado, luego establecer cdvBuildMultipleApks=true
o comentar algunas veces no funcionará, simplemente tendrá que instalar la plataforma nuevamente. (PD: esta es mi observación personal; de lo contrario, eliminar build-extras.gradle
debería ser suficiente).
Asegúrese de verificar la carpeta de salida.
Me di cuenta de que "cordova build" seguía produciendo arm7 y x86 después de agregar a mi build-extra.gradle pero la carpeta de salida contenía "android-release.apk" también.
Eliminando las APK de arm7 y x86 de la carpeta de salida (project / platforms / android / build / outputs / apk /)
inmediatamente los detuvo de ser mostrados por "corodva build".
Espero que esto ayude.
Bueno, acabo de cambiar mi propiedad config.xml
siguiente a false
y se combinó la compilación.
de
<preference name="xwalkMultipleApk" value="true"/>
a
<preference name="xwalkMultipleApk" value="false"/>
Mi sistemas de ionic info
devuelve
Your system information:
Cordova CLI: 6.1.1
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS:
Node Version: v4.4.4