2

コマンド ライン モードで ant を使用して Android プロジェクトをビルドしようとしています。それはEclipseで動作し、最新のAndroid SDKをインストールするまでantで動作していました。

私は走りant release -buildfile projectdir\build.xmlます。コンパイル プロセスは問題なく、apk を調整した後、実行時に で失敗しますClassDefNotFoundError acra.ACRA。プロジェクトから acra への参照を削除しようとしましたが、ライブラリ jar からのコードを実行しようとすると実行時に失敗します。

私のjarファイルはlibs、プロジェクトのルートにあるフォルダーにあります。そして、これによりantがそれらをapkにリンクさせることになると私はある程度理解しました. しかし、そうではありません。

以前のバージョンの Android SDK を使用したときbuild.properties、jars フォルダーを参照する属性を持つ名前のファイルがありましたexternal.libs.dir=libsjar.libs.dir=libsしかし、新しい属性名と新しい属性ファイル名を使用しても、これ以上機能させることはできませんant.properties

コンパイル時にライブラリが見つかったために ClassDefNotFoundError が発生したことを読みましたが、それらは apk にリンクされていないため、実行時に見つけることができません。どうすればapkの外部jarをリンクできますか?

4

1 に答える 1

2

コンパイル プロセスは問題なく、apk を調整した後、実行時に ClassDefNotFoundError acra.ACRA で失敗します。

acra.ACRAACRA には、少なくとも現在の版にはクラスはありません。ですorg.acra.ACRA

私の jar は、プロジェクトのルートにある libs フォルダーにあります。そして、これによりantがそれらをapkにリンクさせることになると私はある程度理解しました. しかし、そうではありません。

はい、そうです。次に、ProGuardにそうしないように教えない限り、ProGuardはそれらを削除しています。

于 2012-03-29T21:00:55.643 に答える