0

私はandroid - ndk - r8を使用し、LINKに従って.soライブラリを作成しました。今の私の目的は、このライブラリを別のプロジェクトで使用することです。そこに完全なソースをコピーする代わりに、ライブラリを使用したいだけです。libs/armeabi/libAddition.so ライブラリ全体を別のアプリケーションのプロジェクト ルートにコピー & ペーストしようとしましたが、これらのライブラリを別のアプリケーションで使用するとアプリがクラッシュします。ライブラリは、2 つの数値ロジックの単純な追加で構成されます。

アプリケーションまたは .so ファイルのエラーではなく、エラー ログのエラーは unsatisfiedlinkerror です。また、ライブラリ プロジェクトなどを作成したくありません。別のプロジェクトでこれらの .so ファイルを使用する必要があるだけです。

それで、それを行うための最良の方法は何ですか?私はエクリプスを使用しています。

4

2 に答える 2

2

.so には 2 つの部分があります。使用する実際の C ライブラリと、JNI グルー コードがあります。アプリがクラッシュする理由は、JNI が以前のアプリケーションのパッケージ名を参照しているためだと思います。繰り返し使用できるライブラリを作成する場合は、ライブラリと JNI を別々に作成する必要があります。

于 2012-05-17T18:21:21.813 に答える
0

この投稿は役に立つかもしれません。私はそれを試しましたが、同じパッケージ名からSystem.loadLibraryを呼び出した場合にのみ機能しました。それ以外の場合はUnsatisfiedLinkErrorがスローされましたが、何が問題なのかを深く調べることはできませんでした。

于 2012-05-17T18:36:53.570 に答える