Je suis en train d'expérimenter avec les applications instantanées pour Android. J'ai installé tous les packages corrects et j'ai essayé de créer une nouvelle application avec le support des applications instantanées (j'ai coché la case pour les applications instantanées lors de la création de la nouvelle application). Le problème est que je rencontre toujours un problème avec les outils de compilation. Est-ce que quelqu'un d'autre a ce problème et a réussi à trouver une solution de contournement.
Mon environnement :
- Android Studio 3.0 Canary 1
- Compile SDK : 25
- Outils de build : "26.0.0 rc2"
- Plugin Gradle : 3.0.0-alpha1
- Gradle : j'ai essayé à la fois gradle-4.0-milestone1 et 2
- Java 1.8/1.7
- OS : j'ai essayé à la fois Windows 10 et Linux Ubuntu 16.4 LTS
L'erreur :
Erreur : java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: Échec de la compilation AAPT2 :
aapt2 compile -o /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/res/merged/androidTest/debug /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml
Problèmes :
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:520 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:521 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:568 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:594 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:595 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:597 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:598 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:599 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:600 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:601 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:602 dimen invalide
- ERREUR : /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:603 dimen invalide
:feature:mergeDebugAndroidTestResources ÉCHEC
La ligne en question contient (520) :
0.30
J'espère avoir fourni suffisamment d'informations pour résoudre le problème. Merci.
4 votes
En tant que solution de contournement pour faire fonctionner la construction, j'ai actuellement désactivé le aapt2 et ça fonctionne pour tester la construction ... vous pouvez le faire en définissant android.enableAapt2=false dans votre fichier gradle.properties. Je pense que cela pourrait être un bug de studio, pas sûr ...
0 votes
Une autre solution est stackoverflow.com/a/33943562/5125608 Cela a fonctionné pour moi.
5 votes
FYI la dernière version canary, 5, est sortie et Google a mentionné ci-dessous qu'ils ont encore un problème avec ce AAPT2 comme suit, AAPT2. Nous continuons à stabiliser AAPT2 qui permet un traitement incrémental des ressources. Si votre construction échoue en raison d'un problème de traitement des ressources, veuillez nous envoyer un rapport de bug. Pour désactiver temporairement AAPT, définissez android.enableAapt2=false dans votre fichier gradle.properties. Roboelectric n'est actuellement pas compatible avec AAPT2