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


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.