0

JNIを使​​用して、Androidアプリで使用したいCコード(testFile .c)があります。このコードには純粋な C コードが含まれており、内部には多くのメソッドがあります。さらに、いくつかの C ヘッダー ファイル ( file1 .h、file2 .h)も呼び出します。

例: testFile .c

#include "file1.h"
#include "file2.h"

void myMethod1()
{
    ...
    ...
}
void myMethod2()
{
    ...
    ...
}
void myMethod3()
{
    ...
    ...
}

testFile .c全体を JNI コードに変換する必要があるのか​​、それとも後で使用するいくつかのメソッド (すべてではない) を変換する必要があるのか​​? ヘッダー ファイル (file1.h および file2.h) 内の C コードも変換する必要がありますか、それとも testFile.c 内の C コードを変換するだけですか?

4

2 に答える 2

3

または、Java と C コードの間のインターフェイスが非常に単純であるが、Android で jni を使用する全体的なプロセスに慣れていない場合は、C コードを ndk の hello-jni の例に多かれ少なかれマージできます。要点は、ビルドして機能するものから始めて、必要なものを少しずつ追加し、問題が発生した場合は、バックアップして、どの段階でそれを壊したかを把握できるということです.

于 2012-05-04T18:59:40.147 に答える
1

これを行う最も簡単な方法は、JNI Java サイド インターフェイスを定義し、c メソッド スタブの自動生成を使用しjavahて c ファイルを生成することです。次に、この c ファイルで、実際の c メソッドを呼び出しmethod1()ます。method2()method3()

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javah.html

于 2012-05-04T18:55:12.177 に答える