0

まず、私のプロジェクト構造は次のようになります。

Android プロジェクト A --> Android ライブラリ プロジェクト B(いくつかのネイティブ so ライブラリを含む) --> Java ライブラリ C .

  1. プロジェクト A が Android ライブラリ プロジェクト B を参照する方法: ここに画像の説明を入力

  2. Android ライブラリ プロジェクト B のネイティブ ライブラリ。

ここに画像の説明を入力

  1. Android ライブラリ プロジェクト B がライブラリである方法: ここに画像の説明を入力

  2. ロード ライブラリ コード (Android ライブラリ プロジェクト B 内):

    System.loadLibrary("G72x");

    System.loadLibrary("H264Android");

  3. クラッシュログ:

    12-27 20:32:51.698: E/AndroidRuntime(11589): FATAL EXCEPTION: Thread-1694
    12-27 20:32:51.698: E/AndroidRuntime(11589): java.lang.UnsatisfiedLinkError:    InitDecoder
    12-27 20:32:51.698: E/AndroidRuntime(11589):    at com.xx.xxx.media.H264Decoder.InitDecoder(Native Method)
    12-27 20:32:51.698: E/AndroidRuntime(11589):    at com.xx.xxx.media.VideoParseThread.getH264(VideoParseThread.java:131)
    12-27 20:32:51.698: E/AndroidRuntime(11589):    at com.xxx.xxx.media.VideoParseThread.run(VideoParseThread.java:46)
    

アプリケーションが so ライブラリを必要とするコードを実行すると、クラッシュしました。いくつかの回答を読みましたが、まだ解決されていません。

すべてのライブラリ b プロジェクトがプロジェクト A にある場合は、うまく機能しました。

この問題は私を夢中にさせます。解決策が1つあるはずですが、方法がわかりません。

4

1 に答える 1

0

最初に:
あなたのプロジェクトの恐ろしい説明とあなたのプロジェクト構造の説明。
2番目:
ビルド設定でエクスポートされていることを確認します。
あなたがより正確に、あなたの構造がどのようになっているのか、おそらくスクリーンショットで説明すれば、私はあなたの間違いの説明を絞り込むことができます

編集:

「プロジェクトのプロパティ」の下で「javaビルドパス」に移動し、次に「注文とエクスポート」に移動します。
ここでは、プロジェクトが存在し、マークが付けられている必要があります。

于 2012-12-27T12:23:48.103 に答える