Jika anda belum tahu apa itu ButterKnife, anda bisa membaca di sini , demikian juga dengan Otto , anda juga bisa membacanya di sini. Tulisan saya ini bermula ketika saya ingin meng-generate signed APK dimana aplikasi saya menggunakan ke dua library tersebut. Ketika saya saya mencoba untuk mem-build, saya mendapatkan warning sebagai berikut (klik pada gambar untuk memperbesar) :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMLOItTLHd98jYCKC6swJf9oEDc9OJdNy84VKdWei1zsMPCBTP_RhGsWzTRos50hLPkzZ5CctBfv2UwzOuqm2RZQq8C61SbUaarpSYZZV6e_N5qLglPi1x_jsqjOOvkQ0dY2tF521WibDM/s400/Screen+Shot+2016-03-15+at+9.00.51+PM.png)
dari baris pertama kita bisa melihat bahwa reference class annotation tidak ditemukan. Hal ini dikarenakan annotated methods dihapus oleh proguard. Untuk menghilangkan warning ini , anda bisa menambahkan beberapa konfigurasi pada proguard.
Berikut contoh konfigurasi yang bisa anda pasang pada proguard:
-keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewBinder { *; } -keep class **$$ViewInjector { *; } -keepclasseswithmembernames class * { @butterknife.*; } -keepclasseswithmembernames class * { @butterknife.* ; } -keepattributes *Annotation* -keepclassmembers class ** { @com.squareup.otto.Subscribe public *; @com.squareup.otto.Produce public *; }
Demikian tips dari saya , semoga bermanfaat :D
No comments:
Post a Comment