Androidでjavascriptを使ったアプリをapkにすると動作しない
■Androidでjavascriptを使ったアプリをapkにすると動作しない
実に分かりづらい表題ですが、要するにこうです。
1.javascriptを使用したアプリを作る。
↓
2.テスト段階では問題なく動く。
↓
3.いざ、apkにしてインストールしてテストすると正常に動作しない。
せっかちな人は3のテストを省いてリリースして、公開後にエラーに気が付くとかよくありそうです。
ていうかそうなりそうでやばかった。
テストで動いてんのにapkにしたら動かないってなんなの?アホなの?
と思って理由を調べてみると、そういう時はだいたいproguard様が気を利かせて妨害してくれています。
今回もそうだったので、該当のクラスとかメソッドは省くといいよ、ってことで
↓みたいな感じで-keepとかしました。
みたいな感じで、javascriptが動くであろうクラスやメソッドを除外してみた。
mapping.txtを確認してもリネームされていない。完璧だ。
だが動かない

慌てない、よくあることだ。
さらに他力本願で調べてみる → 参考サイト:Android4.2以上でJavascriptからJavaメソッドをコールするには
ほうほう、@JavascriptInterfaceのアノテーションを付けた場合は、その旨の記述がproguardにも必要なんだね。
これでやっと動いたぞう

アノテーションが必要な場合は除外しますよってことか。javascript以外にも注意が必要そうだなぁ。
スポンサーサイト