2016-02-26 16 views
14

Zaktualizowałem do wersji Android Studio 2.0 Beta 5. Używam narzędzi gradle 2.0.0-beta5. Na stronie Android dev blogspot, jest film wyjaśniający, jak korzystać z nowego obkurczacz do debugowania buduje (na 3:14)Jak korzystać z nowego obkurczacza Androida 2.0 i ustawić useProguard false?

https://www.youtube.com/watch?list=PLWz5rJ2EKKc_w6fodMGrA1_tsI3pqPbqa&v=xxx3Fn7EowU

usiłuję zbudować mojego projektu z buildType debugowania jak wyjaśniono w filmie:

debug { 
     minifyEnabled true 
     useProguard false 
    } 

dostaję kilka ostrzeżeń i wtedy ten błąd, gdy budynek:

Error:Execution failed for task 'app:transformClassesWithNewClassShrinkerForMyAppNameGoesHereDebug'. 
Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them. 

z PROGUARD, dodałbym odpowiedni -dontwarn wymagany w pliku projektu proguard. Czy istnieje gdzieś plik projektu Shrinker, do którego mogę dodać instrukcje -dontwarn?

Odpowiedz

4

Znalazłem na tym trochę documentation. Okazuje się, że używa tych samych plików konfiguracyjnych, co Proguard. Oto odpowiednia część z dokumentu:

Wbudowany shrinker może usunąć tylko martwy kod, nie powoduje zaciemniania ani optymalizacji. Można go skonfigurować przy użyciu tych samych plików, co ProGuard, ale zignoruje wszystkie flagi związane z zaciemnianiem lub optymalizacją. W przeciwieństwie do ProGuard, wspieramy używanie wbudowanego narzędzia obkurczającego wraz z funkcją Instant Run.

Również tutaj jest przykładowa konfiguracja dla odniesienia:

buildTypes { 
    debug { 
     minifyEnabled true 
     useProguard false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
+0

skompilowany i zainstalowany APK. Dzięki! Niestety istnieje już problem z moją konfiguracją proguard. Jackson rzuca błąd "nie znaleziono odpowiedniego konstruktora". Ale przynajmniej teraz się buduje. –

+2

Widziałem wcześniej kilka postów na temat SO w sprawie Jacksona. Przynajmniej zrobiłeś to dalej niż ja! Byłem podekscytowany widząc, że dodanie flag -dontwarn spowodowało, że przeszedłem krok 'transformClassesWithNewClassShrinkerForDebug'. Jednak to właśnie doprowadziło do błędu metody 64K, co jest dziwne, ponieważ projekt korzysta z tych samych reguł Proguard podczas korzystania z Proguard. –