2017-08-30 30 views
10

Niedawno zaktualizowałem do gradle-3.0.0-alpha8, po którym niektóre style nie zostaną rozwiązane podczas kompilacji.
Develop envirment:Błąd: nie znaleziono atrybutu stylu "@android: attr/windowExitAnimation"

  • IDE: Android studio 3.0 Bate3
  • Gradle budować narzędzia: 'com.android.tools.build:gradle:3.0.0-beta3'
  • Gradle: Gradle-4.1- all.zip

informacji o błędzie:

Error:(94, 5) style attribute '@android:attr/windowExitAnimation' not found 
    Error:(94, 5) style attribute '@android:attr/windowEnterAnimation' not found 

Ustawianie android.enableAapt2 = false w grad Plik le.properties może rozwiązać ten problem.

Ale aplikacja błyskawiczna wymaga android.enableAapt2 = true. Co bym zrobił?

+0

https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html –

+0

możesz spróbować z Android Studio Beta 2? Ponieważ wersja beta 3 została usunięta https://androidstudio.googleblog.com/2017/08/android-studio-30-beta-3-is-now.html (z android.enableAapt2) –

+0

Znalazłem podobny problem zgłoszony w publicznym tracker https://issuetracker.google.com/issues/65036100 –

Odpowiedz

37

Cały problem został już rozwiązany.

Przyczyna problemu:

Istnieją dwa moduły, A_module, B_module.

B_module ma styl:

<style name="my_style”> 
<item 
    name="@android:windowEnterAnimation">@anim/anim_toast_show</item> 
<item 
name="@android:windowExitAnimation">@anim/anim_toast_hide</item> 
</style> 

Jeśli B_module kompilacji (''): A_module
zbudować lub Clean, Raport lokalizację błędu w A_module-> li-> values-> style:

Error:(94, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(94, 5) style attribute '@android:attr/windowEnterAnimation' not found

Rozwiązanie:
Usuwanie "@" na początku nazwy przedmiotu.

<item name="@android:windowEnterAnimation">@anim/anim_toast_show</item> 
<item name="@android:windowExitAnimation">@anim/anim_toast_hide</item> 

do:

<item name="android:windowEnterAnimation">@anim/anim_toast_show</item> 
<item name="android:windowExitAnimation">@anim/anim_toast_hide</item> 
+0

Nie miałem wielu modułów, ale nie zauważyłem @, usunięcie go zadziałało. dziękuje – crgarridos

+0

, ale jeśli nie mogę zmodyfikować module_B, na przykład, pochodzi od strony trzeciej aar lub coś podobnego, otrzymuję również ten sam błąd, jak mogę sobie z tym poradzić? – lightman1988

+0

usuwanie @ z Android namespace dos nie pomaga @Martinzhangyu –