問題タブ [java-native-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
334 参照

java - Java の Debian Raspberry Pi の Bluetooth LE

Linuxコマンドを使用してBLEデバイスとペアリングして接続すると、すべてが機能します。
今、私は自分の Java プログラムに同じ値を読み取らせたいと思っています。
私は多くのものを調べましたが、すべてのライブラリはtinyBに基づいています https://github.com/intel-iot-devkit/tinyb Bluetoothマネージャーライブラリを使用しています https://mvnrepository.com/artifact/org.sputnikdev/bluetooth -tinyBが統合されたマネージャー。
今問題: ラズベリーで jar を起動すると、次のように表示されます: java.lang.UnsatisfiedLinkError: java.library.path に javatinyb
ありません/issues/75
しかし、Maven を使用しているため、ネイティブ ライブラリがどこにあるか、ライブラリ パスを変更する方法がわかりません。
私の本当の質問は次のとおりです。Debian で Raspberry でネイティブ ライブラリを使用するにはどうすればよいですか?
前もって感謝します

0 投票する
0 に答える
136 参照

java - gradlew installDist で java.library.path を設定するにはどうすればよいですか

ライブラリを使用する JNI を学習していて、チュートリアルはhttps://www.baeldung.com/jniです。Javaソースファイルは

プロジェクトディレクトリは次のとおりです。

build.gradle ファイルは

そしてsettings.gradleは

を実行する./gradlew installDistと、正常に動作し、次のディレクトリ構造が得られます

しかし、私が走るときbuild/install/jni/bin/jni、私は私に与えます

理由がわかりません。コマンドに java.library.path を含めるにはどうすればよいですかgradlew installDist

0 投票する
0 に答える
40 参照

java - Java リフレクションを使用して Android ネイティブ ライブラリをロードする

Java リフレクションを使用して Android ネイティブ ライブラリをロードしようとしていますが、実行時にライブラリが見つかりません。通常、私はネイティブライブラリをロードします:

すべてが期待どおりに機能します。loadLibrary今、次のように、リフレクションでメソッドを呼び出そうとします:

しかし、実行時に私は得る:

リフレクションloadLibraryのように、間違ったパスでライブラリを探しているようです。これら/system/lib64:/vendor/lib64java.library.pathプロパティのパスですが、apk の中は見ていません。もちろん、ライブラリは最終的な apk に含まれており、適切な ABI の適切な場所にあります。

ノート

使えない

私がこれを呼び出している場所からパスを利用できないため、パスを取得するためのパスがないかContextApplicationまだ利用できません。

loadLibrary現在の apk で検索を強制する方法はありますか? ありがとうございました!