ProGuard Mapping

Ferid Cafer
Etiya
Published in
2 min readMar 14, 2018

Uygulamalarımızı hem hacimce küçültmek hem de geri döndürülemez hale getirmek için proguard işleminden geçirip atıyoruz markete. Pekiyi, markete attığımız proguardlı uygulama zaman zaman patlarsa n’olacak? Şöyle ki, geliştirici konsolundaki patlama raporuna baktığımızda proguarddan dolayı tuhaf harf yığınıyla karşılaşıyoruz. Patlamanın gerçekleştiği sayfa ve satırı görmek yerine anlaşılmaz yazılar görüyoruz. Öyleyse, nasıl okuyacağız, nasıl tespit edeceğiz?

Cevap mapping. Mapping.txt adlı dosyayı deobfuscation alanında uygulamanın ilgili versiyonuna iliştirince, proguardlı uygulama patladığında da gayet anlaşılır bir raporla karşılaşırız. Üstelik uygulamanın geri döndürülemezliği hiçbir şekilde etkilenmez. Yalnız, şunu belirtmek lazım. Geriye dönük bilgi vermez. Yani, uygulamayı proguardlı attık markete. Birkaç kez patladı. Ardından mapping yaptık. Mapping öncesi raporlar okunur hale gelmez; mappingden sonraki patlamalar okunur hale gelir.

Mapping nasıl yapılır?

Adım 1:

Proguard (proguard-rules.pro) dosyasının içine şu satırı eklemek lazım

-printmapping mapping.txt

Adım 2:

app\build\outputs\mapping\release klasörü altında mapping.txt dosyası oluşur. İşte bu dosyayı geliştirici konsolundaki Deobfuscation files sekmesi altındaki ilgili versiyona iliştirmek gerekmektedir.

Deobfuscation files sekmesi
Mapping.txt dosyasını buradan upload ediyoruz

Bunun neticesinde okunmayan rapor, okunur hale gelir.

Proguardlı rapor (mapping yok)
Proguard sonrası mappingli rapor

--

--