Ini adalah proyek pertama saya di Android Studio, dan kode aplikasi saya tidak dikaburkan. Saya menggunakan konfigurasi ini dalam file build.gradle:
Saya menggunakan Build> Generate Signed APK ... dengan Run Proguard dicentang. Dan, ketika saya telah menguji menggunakan Apk_OneClick.v4.2, kode saya sangat mudah dibaca:
Tolong bantu aku. :(
android
android-studio
proguard
Felipe Porge Xavier
sumber
sumber
Jawaban:
Anda mungkin tidak benar-benar menandatangani build rilis APK melalui wizard penandatanganan. Anda bisa membuat APK rilis dari command line dengan perintah:
atau Anda dapat memilih varian rilis dari tampilan Build Variants dan membangunnya dari GUI:
sumber
Anda dapat mengonfigurasi file build.gradle Anda untuk implementasi proguard. Itu bisa di tingkat modul atau tingkat proyek.
Konfigurasi yang ditampilkan adalah untuk level debug, tetapi Anda dapat menulis ragam build Anda sendiri seperti yang ditunjukkan di bawah ini di dalam buildTypes:
Lebih baik debug dengan
minifyEnabled false
dan productionbuild serta build lain sebagaiminifyEnabled true
.Salin file proguard-rules.txt Anda di root modul atau folder proyek Anda seperti
$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt
Anda dapat mengubah nama file Anda sesuai keinginan. Setelah konfigurasi, gunakan salah satu dari tiga opsi yang tersedia untuk menghasilkan build Anda sesuai dengan buildType
Pergi ke tugas gradle di panel kanan dan cari di
assembleRelease/assemble(#your_defined_buildtype)
bawah tugas modulPergi ke Build Variant di Left Panel dan pilih build dari drop down
Buka direktori root proyek di File Explorer dan buka cmd / terminal dan jalankan
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
Windows
gradlew assembleRelease or assemble(#your_defined_buildtype)
Anda dapat menemukan apk di direktori modul / build Anda.
Lebih lanjut tentang konfigurasi dan lokasi file proguard tersedia di tautan
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
sumber
NB .: Sekarang, bukan
Anda harus menggunakan
sumber
Coba ganti nama file 'proguard-rules.txt' menjadi 'proguard-android.txt' dan hapus referensi ke 'proguard-rules.txt' di file gradle Anda. The
getDefaultProguardFile(...)
panggilan referensi file default proguard yang berbeda, yang disediakan oleh Google dan tidak dalam proyek Anda. Jadi hapus ini juga, sehingga di sini file gradle terbaca:sumber
Jawaban lain di sini adalah referensi bagus tentang penggunaan proguard. Namun, saya belum melihat masalah yang saya hadapi yang merupakan penyok pikiran. Setelah Anda membuat rilis bertanda tangan .apk, itu dimasukkan ke dalam
/release
folder di aplikasi Anda tetapi aplikasi saya memiliki apk yang tidak ada di/release
folder tersebut. Oleh karena itu, saya menghabiskan berjam-jam menguraikan apk yang salah sambil bertanya-tanya mengapa perubahan proguard saya tidak berpengaruh. Semoga ini bisa membantu seseorang!sumber
Berikut adalah Beberapa Aturan Proguard Paling Umum yang perlu Anda tambahkan dalam file proguard-rules.pro di Android Sutdio.
Pisau mentega
Retrofit
OkHttp3
Gson
Kode obfuscation
sumber