Progruard e R8 sono deprecati - Android Studio 3.6


9

Ricevo avvisi deprecati su Proguard e R8 dopo aver aggiornato il mio Android Studio a 3.6. Ciò significa che non dovremmo usare l'offuscamento nei nostri progetti o c'è un'altra opzione equivalente che dovremmo considerare mentre costruiamo in modalità di rilascio?

L'opzione 'android.enableR8' è obsoleta e non dovrebbe più essere utilizzata. Verrà rimosso in una versione futura del plug-in Android Gradle e non consentirà più di disabilitare R8. Moduli interessati: ecc


Puoi per favore condividere i messaggi che stai ricevendo?
Anton Baranenko,

Puoi chiarire cosa intendi con "avvisi deprecati" in questo contesto? Il testo effettivo degli avvisi potrebbe essere d'aiuto.
Peter Tefft,

Non ricordo il messaggio esatto, ma diceva che era stato deprecato. Nota a
margine

Per ottenere una risposta è necessario pubblicare il messaggio di avviso completo ed esatto . Ad esempio, l' useProGuardimpostazione è stata deprecata un po 'di tempo fa - forse è quello che hai visto e non lo ricordi.
Michael,

Questa settimana sono passato a R8 e useProGuardho rimosso tutto dal mio grado
Rixment il

Risposte:


7

Ciò significa che non dovremmo usare l'offuscamento nei nostri progetti

No. Puoi usare gli strumenti di offuscamento e ottimizzazione.

c'è un'altra opzione equivalente che dovremmo considerare mentre costruiamo in modalità di rilascio

Se lo hai android.enableR8 = truenel tuo gradle.properties, rimuovilo come R8 come strumento predefinito e l' android.enableR8impostazione stessa è deprecata, causando questi avvisi di deprecazione.

Se devi android.enableR8 = falseusare proguard per l'ottimizzazione e l'offuscamento, considera invece la migrazione a R8.


come rendere offuscato il progetto? Ho rimosso tutte le proprietà indicate e ho detto di rimuovere la dipendenza di R8 da build.gradle e non riesco più a compilare il progetto, ottengo R8NullPointerException che cos'è?
Lena Bru,

Sembra qualcosa che esula dall'ambito della sezione commenti qui.
laalto,

@laalto Quello che ho ottenuto dalla tua risposta è che R8 funzionerà automaticamente, quindi non c'è bisogno di aggiungere android.enableR8 = true, giusto?
Mohamed,

@Mohamed Anche questa è la mia comprensione, a condizione che tu abbia il plug-in Android Gradle 3.6 o più recente.
laalto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.