2011年12月15日木曜日

【Android】Proguard使用時の注意点

Proguard使用時の注意

元々Android用ではないため、Javaのソースのみを難読化し、
XMLは無視する様子。

そのため、難読化しないクラスを除外設定しないといけない。

proguard.cfg に設定があるので編集する。

1. クラス名の難読化除外。

おすすめ
  1. -keep public class * extends android.app.Activity  
  2. -keep public class * extends android.app.Application  
  3. -keep public class * extends android.app.Service  
  4. -keep public class * extends android.content.BroadcastReceiver  
  5. -keep public class * extends android.content.ContentProvider  
  6. -keep public class * extends android.app.backup.BackupAgentHelper  
  7. -keep public class * extends android.preference.Preference  
  8. -keep public class com.android.vending.licensing.ILicensingService  
  9. -keep public class * extends android.view.View  
  10. -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のメソッド名も除外に指定する。

  1. -keepclassmembers class * {  
  2. public void On*Click(android.view.View);  
  3. public void on*Click(android.view.View);  
  4. }  

そのため、onClickメソッドはやっぱり on*Click という命名規則にした方が良い。

0 件のコメント:

コメントを投稿