まず、私のプロジェクト構造は次のようになります。
Android プロジェクト A --> Android ライブラリ プロジェクト B(いくつかのネイティブ so ライブラリを含む) --> Java ライブラリ C .
プロジェクト A が Android ライブラリ プロジェクト B を参照する方法:
Android ライブラリ プロジェクト B のネイティブ ライブラリ。
Android ライブラリ プロジェクト B がライブラリである方法:
ロード ライブラリ コード (Android ライブラリ プロジェクト B 内):
System.loadLibrary("G72x");
System.loadLibrary("H264Android");
クラッシュログ:
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つあるはずですが、方法がわかりません。