署名時にProGuardエラー
Eclipseで開発しているとADT(バージョン8.0.0以上)がProGuard用のファイルを勝手に吐き出してくれる。
そして
Y.A.M の 雑記帳: Android Eclipse から ProGuard を使ってみた。
こんな感じでproguard.cfgのパスを設定し、Eclipse上からExport Signed Application PackageをするとProGuardがエラーを吐いて署名が完了しない。
Proguard returned with error code 1. See console
ぐぐっていたところ
Proguardでcan't find referenced class - そこはかとなく書くよ。
に出くわし試しにproguard.cfgに
-dontwarn
-dontnote
とか追記してみる。
・・今思うと恐ろしいオプションですね。
すると無事に署名つきのパッケージングが完了したではないですか。
わーい(・∀・)
ってことでいざMarketに登録!えい!
そしてMarketよりインストールしたところ、commonsのライブラリで実装したHTTP通信の部分が動作しない。
なぜだ。
直前まで動作していた。ということは原因は署名のところしかない。
ProGuard系のファイルを削除して再署名。
するとうまくいった。平和だ。
原因については
ProGuardを使っての難読化方法 - hyoromoのブログ
が匂う。
難読化すべきモノとすべきでないモノ
のくだり。
リフレクションとか絶対やってるしな。。
難読化させない方法
に解決策がある。ちょっとかかりそうだから次トライするときに追記しよう。