元々Android用ではないため、Javaのソースのみを難読化し、
XMLは無視する様子。
そのため、難読化しないクラスを除外設定しないといけない。
proguard.cfg に設定があるので編集する。
1. クラス名の難読化除外。
おすすめ
-keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keep public class * extends android.view.View -keep public class * extends android.support.v4.app.Fragment
この場合、クラス名は何でもよくてandroid.view.View、またはその子を継承しているもの
-keep public class * extends android.view.View
2. メソッド名の難読化除外
xml に android:onClick がある場合、xmlは難読化しないのでjavaのメソッド名も除外に指定する。
-keepclassmembers class * { public void On*Click(android.view.View); public void on*Click(android.view.View); }
そのため、onClickメソッドはやっぱり on*Click という命名規則にした方が良い。
0 件のコメント:
コメントを投稿