2016-06-27 6 views
2

私はJNIでAndroid APPプロジェクトに取り組んでいます。私はプロジェクトのいくつかのソースを持っていますが、私は.soファイルとソースの.javaファイルしか持っていません。どのように私はC + +のソースファイルなしでJNI関数を使用できますか?C++ソースファイルなしのJNI

enter image description here

答えて

2

あなたはこの.soのをインタフェースするJavaクラスを使用している場合、あなたはそれを使用するC++のソースを必要としません。ネイティブメソッドを必要に応じて使用するかネイティブメソッドを使用しやすくするJavaラッパーメソッドを追加すると、からパブリックにネイティブメソッドを変更することもできます。

Androidとは、.soファイルがプラットフォームと一致することを確認してください(たとえば、ARMデバイスではx86ライブラリを使用できません)。 .soは互換性のあるツールチェーンでコンパイルされている必要があります(Linuxコンパイラは使用できませんなど)。 .soが特定のプラットフォーム用にビルドされていると、古いデバイスにロードできないことがあります。NDKプラットフォームは、前方に互換性があり、後方には互換性がありません。

+0

ありがとうございました! しかし、アンドロイドスタジオは私にJNI機能を実装する必要があります。 私は何をすべきですか? –

+0

この検査を無効にするには、[環境設定]> [インスペクション]> [Android]> [Missing JNI function]をオフにします。しかし、ネイティブlibが正しく準備されていることを確認する必要があります。 –

+0

"ネイティブlibが正しく準備されていることを確認する必要があります。 これは私の主な問題だと思う –

関連する問題