4

最近、Google Play でリリースする apk ファイルに署名しました。Google Play でアプリケーションをダウンロードしてインストールすると、java.lang.ExceptionInInitializerError がスローされます。

同僚と私は、ライブラリが署名済み apk ファイルに追加されていないのではないかと疑っています。

プロジェクトのビルド パスに追加することで、追加のライブラリをプロジェクトに追加しました。

また、プロジェクトに追加しようとしているライブラリは ActionBarSherlock です。

ライブラリが署名付き apk ファイルに含まれていない理由はありますか?署名済み apk のファイル サイズが未署名バージョンよりもかなり小さいことに気付いたからです。

ビルド パスに追加したライブラリが含まれるように、apk ファイルに正しく署名する際に、誰かが正しい方向に向けることができますか?

4

3 に答える 3

4

android.support.v4 jar ファイルが見つからないというまったく同じエラーが発生しました。ActionBarSherlock Web サイトを見ると、deeJ は正しいです。proguard ファイルに次を追加するように指示されています。

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

-keepattributes *Annotation*
于 2012-10-02T12:02:44.497 に答える
2

問題は、Proguard が ActionBarSherlock とうまく連携していないことであることがわかりました。ここにあるヒントを使用してみてください。

http://actionbarsherlock.com/faq.html

于 2012-10-01T14:52:24.033 に答える
0

正確なビルド プロセスがわからない場合は、ビルドに Maven を使用することをお勧めします。依存関係がリリース ビルドではなくデバッグ ビルドでのみ使用されている可能性があります。私が提案するもう 1 つのことは、アプリ ストアに何かを配置する前に、Android Debug Bridge (adb) を使用してデバイスに手動でインストールし、これらの種類のエラーをチェックすることです。

于 2012-10-01T15:12:56.340 に答える