1

これは非常に初歩的な質問かもしれませんが、C++ で記述された .so ライブラリを使用する必要がある Android アプリを作成しています。.so はいくつかのクラスで構成されており、JNI ではなく汎用 C++ で記述されています。

JNI 以外に Android Java アプリから C++ 関数を呼び出す方法はありますか? 私が JNI について見てきたことはすべて、ネイティブ コードを JNI 固有のものに書き直す必要があることを示唆しています。

Android 4.0.3 で Java アプリケーションからネイティブ関数を呼び出すための代替方法は何ですか? C++ 関数を呼び出し、Java から呼び出すことができる小さな JNI-C++ プログラムを作成するのはどれほど簡単でしょうか?

Eclipse でプロセスを簡素化するものはありますか?

より洗練された解決策がないことにおそらく驚かないはずです。

4

2 に答える 2

0

ライブラリの JNI ラッパーを作成することについて、あなたが提案したものよりも洗練されたソリューションがあるとは思いません。サポートしたいアーキテクチャごとに、すべてのネイティブ コードの個別のバージョンをコンパイルする必要があるため、とにかく良い考えではありません。コンパイルされたライブラリにアタッチするだけでは、そのアーキテクチャに悩まされます。

于 2012-04-16T01:26:26.313 に答える
0

これは Android 固有のものではありませんが、Java Native Access (JNA) を確認する必要があります。libffi を使用して (JNI を使用せずに) ネイティブ コードにアクセスできます。

于 2012-04-16T01:27:11.630 に答える