0

サードパーティのjarファイルを使用しているライブラリプロジェクトを構築しています.

通常、ライブラリを TestApp への依存関係として使用すると、すべてが正常に機能します。そのためのスクリーンショットが添付されています。

機能したライブラリ プロジェクトの依存関係

しかし、TestSDKライブラリ プロジェクトから jar をエクスポートし、それを のビルド パスに追加すると、TestApp次のようになります。

ビルド パスに jar を追加

注文と輸出の全貌

VerifyErrorデバイスにアプリをデプロイするときに取得します。以下はそのログです。

12-30 18:10:55.778: W/dalvikvm(7316): VFY: unable to find class referenced in signature (Lcom/aerserv/sdk/ASAdView;)
12-30 18:10:55.788: W/dalvikvm(7316): VFY: Ljava/lang/Object; is not instance of Landroid/view/View;
12-30 18:10:55.788: W/dalvikvm(7316): VFY: bad arg 1 (into Landroid/view/View;)
12-30 18:10:55.788: W/dalvikvm(7316): VFY:  rejecting call to Landroid/view/ViewGroup;.removeView (Landroid/view/View;)V
12-30 18:10:55.788: W/dalvikvm(7316): VFY:  rejecting opcode 0x6e at 0x0011
12-30 18:10:55.788: W/dalvikvm(7316): VFY:  rejected Lcom/anupam/sdk/activities/AdsActivity;.initAerservAd ()V
12-30 18:10:55.788: W/dalvikvm(7316): Verifier rejected class Lcom/anupam/sdk/activities/AdsActivity;
12-30 18:10:55.788: W/dalvikvm(7316): Class init failed in newInstance call (Lcom/anupam/sdk/activities/AdsActivity;)
12-30 18:10:55.788: D/AndroidRuntime(7316): Shutting down VM
12-30 18:10:55.788: W/dalvikvm(7316): threadid=1: thread exiting with uncaught exception (group=0x41596ba8)
12-30 18:10:55.788: E/AndroidRuntime(7316): FATAL EXCEPTION: main
12-30 18:10:55.788: E/AndroidRuntime(7316): Process: com.anupam.testsdk, PID: 7316
12-30 18:10:55.788: E/AndroidRuntime(7316): java.lang.VerifyError: com/anupam/sdk/activities/AdsActivity

それを行う正しい方法は何ですか?ここで何か不足していますか?どんな種類の助けや指導も大歓迎です。

4

1 に答える 1

2

あなたの JAR は Aerserv SDK に依存していると思いますが、それは含まれていません。また、アプリに含まれていることもわかりません。

JAR ライブラリのビルド依存関係は自動的に含まれないことに注意してください。依存関係は、ライブラリを構築する際の問題です。jar 自体に依存関係を含める (ビルド システムに強制的に実行させる必要がある) か、ライブラリ ユーザーにそのように指示する (Aerserv の方法と同様) という 2 つのオプションがあります。依存関係を含める場合、ライブラリ ユーザーもそれらをアドバタイズすると競合するリスクがあります。

于 2014-12-30T13:23:39.103 に答える