私のネイティブライブラリをアンドロイドコードに統合する方法を解明しようとしています。私は単純なC++関数を作成し、デバイス上でコードを実行するとうまくいきます。しかし、私の現在の目標は、ユニット・テストENV(JUnitの)で動作させるためである、と私は問題に直面:動作しないSystem.loadLibrary("lib")
ユニットテストENVで、ユニットテスト中の "java.lang.UnsatisfiedLinkError:* .so:依存ライブラリが見つかりません" env
だから、私は今、この System.load("/full/path/to/lib.so")
にそれをcangeが、行が例外をスローする:
java.lang.UnsatisfiedLinkError: app\build\intermediates\cmake\debug\obj\x86_64\liblib.so: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086)
パスが正しくあり、このパスのファイルが存在します。
libのx86
ベースのバージョンへのパスを使用しようとしましたが、それでも同じ例外がスローされます。
私は最新のAndroid NDK、Clangツールチェーンを使用しています。Windows 7 64ビットベースのラップトップではユニットテストを実行しています。CPUはCore i7で、実行時のJavaバージョンも64ビットです。
この場合、どのような問題が発生する可能性がありますか?
は私ものx86/x86_64の* .soのファイルをコンパイル打ち鳴らす心の実際に持つ感情を持って、彼らはまだWindowsベースのenvでは無効であるが、私は、Linuxはすぐにこのアイデアをチェックするためにインストールされていません。 。