ProGuard veya R8 kod karartma ve optimizasyonu
ProGuard veya R8 kod karartma ve optimizasyonu
Uygulamalarınızı Google Play’e yüklerken Google size ;
Bu App Bundle ile ilişkili kod gösterme dosyası mevcut değil. Karartılmış kod (R8/proguard) kullanıyorsanız kod gösterme dosyası yüklemek, kilitlenme ve ANR’lerde analiz yapmayı ve hata ayıklamayı kolaylaştırır. R8/proguard kullanmak, uygulama boyutunu küçültmenize yardımcı olabilir ,
tarzında bir uyarı veriyorsa ne yapmanız gerekiyor şimdi onu anlatalım.
Bu uyarı, uygulamanızın Google Play Console‘da bir App Bundle yüklerken ProGuard veya R8 kod karartma ve optimizasyon araçlarının kullanılmadığını belirtiyor. Bu araçlar, uygulamanızın boyutunu küçültmek, performansı artırmak ve kodun tersine mühendisliğini zorlaştırmak için kullanılır. Kod karartma etkinleştirilmişse, kilitlenme raporlarını çözümlemek için bir kod gösterme dosyası (mapping file) yüklemeniz önerilir.
Bu Uyarıyı Anlamak ve Çözmek İçin Adımlar:
1. Kod Karartmayı Etkinleştirme (ProGuard/R8)
Kod karartmayı etkinleştirmek için
build.gradle
dosyanızdakirelease
yapılandırmasındaisMinifyEnabled
değerinitrue
olarak ayarlayın:buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile(“proguard-android-optimize.txt”),
“proguard-rules.pro”
)
}
}
2. ProGuard Kurallarını Yapılandırma
- Varsayılan ProGuard kurallarını kullanıyorsanız,
proguard-android-optimize.txt
dosyasını eklediğinizden emin olun. - Eğer özel kütüphaneler (örneğin, Glide veya Retrofit) kullanıyorsanız, bu kütüphaneler için gerekli olan ProGuard kurallarını eklemeniz gerekebilir. Bu kuralları genellikle kütüphanelerin belgelerinde bulabilirsiniz.
3. Kod Gösterme Dosyasını (Mapping File) Kaydetme
- ProGuard veya R8 etkinleştirildiğinde, her derleme sırasında bir mapping.txt dosyası oluşturulur. Bu dosya, kod karartılmış uygulamadaki hataları çözümlemek için kullanılır.
- Dosyanın yolu genellikle şu şekildedir:
app/build/outputs/mapping/release/mapping.txt
4. Mapping Dosyasını Google Play Console’a Yükleme
- Google Play Console’da App Bundle yükleme sırasında,
Mapping File
(kod gösterme dosyası) yükleme seçeneğini kullanarakmapping.txt
dosyasını yükleyin. Bu, kilitlenme raporlarını analiz etmenize yardımcı olur.
5. ProGuard/R8 Kullanmanın Avantajları
- Küçük Uygulama Boyutu: Gereksiz kodları kaldırır ve uygulamanızı optimize eder.
- Kod Koruma: Kod karartma, uygulamanızın tersine mühendislik yapılmasını zorlaştırır.
- Performans İyileştirmesi: Daha az kod ve optimizasyon sayesinde daha iyi performans sağlar.
Eğer ProGuard Kullanmak İstemiyorsanız:
Bu uyarı bir zorunluluk değil, sadece bir öneridir. Eğer ProGuard veya R8 kullanmayı planlamıyorsanız, bu uyarıyı görmezden gelebilirsiniz. Ancak, kod karartma ve optimizasyonun genellikle iyi bir uygulama olduğunu unutmayın.