2017-07-12 7 views
7

J'ai un projet de travail.Arrêtez le projet de travail avec les drawables vectoriels après la mise à jour build.gradle sur API <21

  • minSdkVersion 17
  • com.android.tools.build:gradle:2.3.3
  • gradle 4.1
  • Android Studio 3 Canary 6

J'ai dans mes dossiers Gradle:

defaultConfig { 
     vectorDrawables.useSupportLibrary = true 
     vectorDrawables.generatedDensities = [] 
} 

J'appelle aussi dans l'activité:

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) 

L'application fonctionne parfaitement. Maintenant, pour changer:

  • com.android.tools.build:gradle:3.0.0-alpha6
  • ajouter aux référentiels google() ligne

Exécuter gradle clean assembleDebug. App continue à fonctionner sur les appareils avec API> 20. Mais pour l'API < 21 (google android émulateur) se briser sur l'application de démarrage. Je vois dans l'erreur logcat: Resources$NotFoundException: Resource ID #0x7f080058 (0x7f080058 est tirable abc_vector_test).

Pourquoi?

UPD 19/07/2017: Il a été fixé et publié en com.android.tools.build:gradle:3.0.0-alpha7

+0

Vous devez déposer un bug si pas déjà ouvert dans https://issuetracker.google.com/issues/new?component=190923 – Androiderson

+0

Terminé: https://issuetracker.google.com/issues/63646848 –

Répondre

0

plug-in Gradle de la version 3 utilisation nouvelle AAPT, qui ont quelques bugs.
Après avoir lu quelques questions sur bug tracker, j'ai trouvé que Gradle a l'option pour AAPT2 désactiver complète: android.enableAapt2=false

également de Notes de version à alpha5:

AAPT2. We are continuing to stabilize AAPT2 which enables incremental resource processing. If your build fails due to resource processing issue, please send us a bug report. To temporarily disable AAPT, set android.enableAapt2=false in your gradle.properties file.
Roboelectric is currently not compatible with AAPT2

7

Je suis ajouter à gradle.properties ligne

android.enableAapt2=false 

et c'est résoudre mon erreur.

UPD 19/07/2017: Il a été fixé et publié en com.android.tools.build:gradle:3.0.0-alpha7

+1

Fonctionne pour moi aussi. – AndroidRuntimeException

+0

Pourriez-vous expliquer comment vous êtes arrivé à cette solution? – Androiderson

+0

@Androiderson, je pose la même question dans le canal de télégramme t.moi/android_ru et DeKaNszn donnez-moi cette réponse, vous pouvez voir sa réponse ci-dessous. –

0

Je suis confronté au même problème, déclasser Android Studio précédente la version canary5 et écrire ce qui suit dans votre build.gradle

buildscript { 
    ... 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.0-alpha5' 
    ...