0

JARファイルにパックされたライブラリを使用してアプリをビルドしようとしています。

関数の1つを呼び出すと、次のエラーが発生します。

例外Ljava/lang / UnsatisfiedLinkError; library.classの初期化中にスローされます

ライブラリのソースコードを確認しましたが、いくつかの.soファイル(System.loadLibrary( "usb-1.0")をロードするとクラッシュすると思います。これらのファイルはJARプロジェクトのlibs / armeabi(libusb-1.0)に存在します。それで)

.soファイルはJARにパックされていないと思いますが、プロジェクトでそれらを見つけるにはどうすればよいですか?

(それらをlibs / armeabiにコピーしようとしましたが、同じ例外がスローされます。...)

リンク/ビルドエラーが発生しません...

ありがとう。

4

1 に答える 1

1

通常のJARファイルは、AndroidNDKでコンパイルされたライブラリに依存するものを配布するためには機能しません。ただし、Androidライブラリプロジェクトでは、NDKでコンパイルされたライブラリを配布することもできます。

しかし、本当の問題は、私のアプリもライブラリになることです。他のライブラリを使用しているときに、アプリをライブラリにできるかどうかわかりません。

「ライブラリにする」==「Androidライブラリプロジェクトにする」と仮定すると、ライブラリプロジェクトを使用しようとしているプロジェクトが他のライブラリプロジェクトにもアクセスできる限り、これは問題ありません。

于 2013-01-08T14:59:44.053 に答える