2011年8月19日金曜日

proguardの注意

一昨日、あまりに売れないから放置してたアプリでエラーが出てることを知りました。2週間放置しちゃって、買ってくれた方ごめんなさい…。

原因は難読化のproguardが悪さをして、xmlのandroid:onClickで指定したメソッドが見つからないことでした。多分、エミュレーターや実機に実行してテストしてる人が多いと思うけど、exportした時だけ発生する現象なのでご注意下さい。

回避策は

-keepclassmembers class * extends andriod.app.Activity {
   public void *(android.view.View);
}

をproguard.cfgに追記する。
そうすると、対象部分は難読化されないため、xmlの指定で見つけられます。

*部分は具体的なクラス名、メソッド名でもOK。
下記を参考にしました。
http://stackoverflow.com/questions/6666292/android-onclick-events-and-pro-guard

0 件のコメント:

コメントを投稿