plugin cordova ionic-framework crosswalk-runtime

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:

  1. Crea un archivo llamado build-extras.gradle dentro de mi directorio /platform/android/ .
  2. poner ext.cdvBuildMultipleApks=false dentro de él.
  3. 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:

  1. Crea un archivo build-extras.gradle y ponlo en platforms/android/ . Agregue la línea cdvBuildMultipleApks=false a build-extras.gradle .
  2. Ahora ejecute ionic run android , creará compilación única android-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