Saya ingin mengecualikan beberapa jalur file dari ProGuard. Contohcom.myapp.customcomponents
Bagaimana saya bisa melakukan ini? Saya benci menempatkan tanda -keep untuk setiap file komponen kustom yang saya miliki di direktori ini.
Saya telah mencoba yang berikut ini tetapi tidak berhasil:
-keep public class com.myapp.customcomponents.*
Tambahkan baris berikut di bagian bawah konfigurasi ProGuard Anda:
Ganti nama paket yang sesuai, di sini paket
com.facebook
akan dikeluarkan dari ProGuard.sumber
{ *; }
artinyaTampaknya banyak orang merekomendasikan
-keep class com.myapp.customcomponents.** { *; }
sebagai cara untuk mengecualikan jalur agar tidak diproses. Lihat disini:Masalah dengan solusi ini adalah masih ada beberapa tingkat kebingungan yang terjadi, yang dapat merusak kode Anda. Anda dapat melihat pemetaan di cetakan pemetaan:
Solusi yang saya pilih adalah proses dua langkah. Pertama, gunakan
injars
dengan filter untuk memilih jalur paket yang ingin saya proses. Dimungkinkan untuk menambahkan jalur paket lain sebagai perpustakaan.Kedua, gabungkan toples yang sudah diproses dengan toples asli, tetapi hanya jalur yang dilewati.
Hasilnya adalah jar gabungan yang merupakan kombinasi dari jalur paket yang diproses dan jalur yang dilewati. Latihan ini tidak valid, jika seseorang dapat memberikan cara untuk melewati pemrosesan jalur tertentu sepenuhnya (yang belum saya temukan).
sumber
Apa yang berhasil untuk saya menggunakan Android Studio 4.0 adalah:
Tanda bintang ganda (**) di jawaban lain tidak berhasil untuk saya. Saya juga mencoba konfigurasi di atas dengan R8, berfungsi dengan baik.
sumber