J'ai ajouté Crosswalk à mon projet ionic. Quand je fais ionic build Android
il génère deux fichiers APK distincts, un pour armv7 et un pour x86.
Cependant, je veux un seul fichier apk regroupant deux architectures ensemble.
J'ai essayé de régler BUILD_MULTIPLE_APKS = false
mais il est toujours en train de construire deux apks séparés.
Il y a un post ici disant:
Cela m'a pris une minute mais vous pouvez obtenir le fichier de construction unique en commentant la ligne cdvBuildMultipleApks = true dans les plates-formes/Android/gradle.properties
À votre santé
Mais je n'ai pas de fichier gradle.properties dans mon dossier plateformes/Android /, j'ai un fichier project.properties et il n'y a pas de cdvBuildMultipleApks=true
ligne dedans pour commenter.
J'ai essayé de créer manuellement un fichier gradle.properties et de mettre cdvBuildMultipleApks=false
là-dedans mais toujours deux sorties.
Des idées pour y parvenir?
Mise à jour:
Ma version Cordova est 5.1.1
Solution:
Ce qui a fonctionné pour moi, comme suggéré par @mudasserajaz et ici , était de:
build-extras.gradle
dans mon /platform/Android/
répertoire.ext.cdvBuildMultipleApks=false
à l'intérieur.ionic build Android --release
puis et Voila, ça a marché.@mudasserajaz a suggéré la même chose, sauf que le nom de la variable est cdvBuildMultipleApks=false
donc au cas où ça ne marcherait pas pour vous, n'oubliez pas le ext
Voici les étapes pour le faire:
build-extras.gradle
et le mettre dans platforms/Android/
. Ajouter une ligne cdvBuildMultipleApks=false
en build-extras.gradle
.ionic run Android
, il créera une version unique combinée Android-debug.apk
.build.gradle
importera automatiquement build-extras.gradle
, si cela est défini. Vous pouvez voir le code de build.gradle
Ce faisant :
def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
apply from: 'build-extras.gradle'
}
De plus, ces instructions sont clairement mentionnées dans build.gradle
ligne 57:
Propriétés de configuration. Définissez-les via des variables d'environnement, build-extras.gradle ou gradle.properties.
REMARQUE: Avant de suivre ces étapes, supprimez le dossier de plate-forme et réinstallez-le.
Observations: Une fois que vous avez effectué ces étapes, et à nouveau à un moment donné, vous souhaitez créer des versions distinctes, puis définir cdvBuildMultipleApks=true
ou commenter parfois ne fonctionnera pas, vous devrez simplement réinstaller la plateforme. (P.S c'est mon observation personnelle, sinon supprimer build-extras.gradle
devrait suffire.)
Eh bien, je viens de changer mon config.xml
propriété suivante à false
et il a combiné l'apk de construction.
de
<preference name="xwalkMultipleApk" value="true"/>
à
<preference name="xwalkMultipleApk" value="false"/>
Mes systèmes ionic info
résultats
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
À ce jour, en 2018, nous pouvons probablement ignorer la plate-forme mobile x86, car il n'y a en effet pratiquement aucun mobile utilisant un processeur Intel.
Cela a l'avantage d'un APK plus petit. Un fichier APK à plateforme unique est plus petit que le fichier APK à plateformes multiples.
Assurez-vous de vérifier le dossier de sortie.
J'ai remarqué que "cordova build" était toujours sorti à la fois arm7 et x86 après l'ajout à mon build-extra.gradle mais le dossier de sortie contenait également "Android-release.apk".
Suppression des fichiers APK arm7 et x86 du dossier de sortie (projet/plates-formes/Android/build/sorties/apk /)
il les a immédiatement empêchés d'être montrés par "corodva build".
J'espère que cela t'aides.