問題タブ [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.
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 でネイティブ ライブラリを使用するにはどうすればよいですか?
前もって感謝します
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
java - Java リフレクションを使用して Android ネイティブ ライブラリをロードする
Java リフレクションを使用して Android ネイティブ ライブラリをロードしようとしていますが、実行時にライブラリが見つかりません。通常、私はネイティブライブラリをロードします:
すべてが期待どおりに機能します。loadLibrary
今、次のように、リフレクションでメソッドを呼び出そうとします:
しかし、実行時に私は得る:
リフレクションloadLibrary
のように、間違ったパスでライブラリを探しているようです。これら/system/lib64:/vendor/lib64
はjava.library.path
プロパティのパスですが、apk の中は見ていません。もちろん、ライブラリは最終的な apk に含まれており、適切な ABI の適切な場所にあります。
ノート
使えない
私がこれを呼び出している場所からパスを利用できないため、パスを取得するためのパスがないかContext
、Application
まだ利用できません。
loadLibrary
現在の apk で検索を強制する方法はありますか? ありがとうございました!