2017-07-12 12 views
7

Mam działający projekt.Zatrzymaj projekt roboczy z wektorowymi rysunkami po aktualizacji build.gradle na API <21

  • minSdkVersion 17
  • com.android.tools.build:gradle:2.3.3
  • Gradle 4,1
  • Android Studio 3 Canary 6

mam w moich Gradle plików:

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

Dzwonię też w celach:

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) 

Aplikacja działa idealnie. Teraz zmieni się na:

  • com.android.tools.build:gradle:3.0.0-alpha6
  • dodać do repozytoriów google() linii

Execute gradle clean assembleDebug.

Aplikacja kontynuuje pracę na urządzeniach z interfejsem API> 20. Ale dla API < 21 (emulator google android) ulega awarii podczas uruchamiania aplikacji. Widzę w logcat błąd: Resources$NotFoundException: Resource ID #0x7f080058 (0x7f080058 jest losowanie abc_vector_test).

Dlaczego?

UPD 19.07.2017: To było stałe i wydany w com.android.tools.build:gradle:3.0.0-alpha7

+0

Powinieneś zgłosić błąd jeśli nie jest już otwarty w https://issuetracker.google.com/issues/new?component=190923 – Androiderson

+0

Gotowe: https://issuetracker.google.com/issues/63646848 –

Odpowiedz

0

Gradle wtyczki od wersji 3 Użyć nowych aapt, że mają pewne błędy.
Po przeczytaniu niektórych problemów na bug tracker, Znalazłem że Gradle ma opcję pełnego AAPT2 Wyłącz: android.enableAapt2=false

Również od wydania objaśniające do 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

jestem dodać do gradle.properties linii

android.enableAapt2=false 

i to rozwiązuje mój błąd.

UPD 19.07.2017: To było stałe i wydany w com.android.tools.build:gradle:3.0.0-alpha7

+1

Działa również dla mnie. – AndroidRuntimeException

+0

Czy mógłbyś wyjaśnić, w jaki sposób dotarłeś do tego rozwiązania? – Androiderson

+0

@Androiderson, zadaję to samo pytanie w kanale telegramu t.ja/android_ru i DeKaNszn daj mi tę odpowiedź, poniżej możesz zobaczyć jego odpowiedź. –

0

Jestem stoi ten sam problem, downgrade do poprzedniej Android Studio wersja canary5 i napisać następujący w build.gradle

buildscript { 
    ... 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.0-alpha5' 
    ... 
Powiązane problemy