Progruard i R8 są przestarzałe - Android Studio 3.6

9

Po aktualizacji mojego Androida Studio do wersji 3.6 otrzymuję przestarzałe ostrzeżenia dotyczące programu Proguard oraz R8. Czy to oznacza, że ​​nie powinniśmy używać zaciemniania w naszych projektach, czy też istnieje inna równoważna opcja, którą powinniśmy rozważyć podczas tworzenia w trybie zwolnienia?

Opcja „android.enableR8” jest przestarzała i nie należy jej już używać. Zostanie usunięty w przyszłej wersji wtyczki Android Gradle i nie pozwoli już na wyłączenie R8. Dotknięte moduły: itp

Riksment
źródło
Czy możesz podzielić się otrzymywanymi wiadomościami?
Anton Baranenko
Czy możesz wyjaśnić, co rozumiesz przez „przestarzałe ostrzeżenia” w tym kontekście? Rzeczywisty tekst ostrzeżeń może pomóc.
Peter Tefft,
Nie pamiętam dokładnej wiadomości, ale napisano, że jest przestarzała. Uwaga dodatkowa: Mam go po aktualizacji do Androida Studio 3.6
Rixment
Aby uzyskać odpowiedź, należy opublikować pełny, dokładny komunikat ostrzegawczy. Na przykład useProGuardustawienie to zostało przestarzałe jakiś czas temu - być może właśnie to widziałeś i źle go pamiętasz.
Michael
W tym tygodniu przełączam się na R8 i useProGuardusuwam wszystko z mojej klasy
Rixment

Odpowiedzi:

7

Czy to oznacza, że ​​nie powinniśmy używać zaciemniania w naszych projektach

Nie. Możesz użyć narzędzi zaciemniania i optymalizacji.

czy istnieje inna równoważna opcja, którą powinniśmy rozważyć podczas budowania w trybie wydania

Jeśli masz android.enableR8 = truew swoim gradle.properties, usuń go jako R8 to domyślne narzędzie, a android.enableR8samo ustawienie jest przestarzałe, powodując te ostrzeżenia o wycofaniu.

Jeśli musisz android.enableR8 = falseużyć proguard do optymalizacji i zaciemnienia, rozważ migrację do wersji R8.

laalto
źródło
jak sprawić, by projekt stał się zaciemniony? Usunąłem wszystkie podane właściwości i powiedziałem, aby usunąć zależność R8 z build.gradle i nie mogę już skompilować projektu, otrzymuję R8NullPointerException co to jest?
Lena Bru
To wygląda na coś poza zakresem komentarza tutaj.
laalto
@laalto Z twojej odpowiedzi wynika, że ​​R8 będzie działać automatycznie, więc nie trzeba dodawać android.enableR8 = true, prawda?
Mohamed
@Mohamed To też rozumiem, pod warunkiem, że masz wtyczkę Android Gradle 3.6 lub nowszą.
laalto