1

誰もが同時にC++とJavaを使用するAndroidプロジェクトの1つの例を持っています。たとえば、1つの通常のAndroidプロジェクトはEclipseでビルドされ、そこにcppクラスを追加し、Javaクラスでこのcppクラスを使用します...

私はC++でクラスFooを持っていると言います

class Foo{
...
}

そして私はJavaでMyActivityクラスを持っています

public class MyActivity extends Activity{
...
}

MyActivityクラスでFooクラスをインスタンス化する方法...

どうもありがとうございました。

4

3 に答える 3

1

まず、build_ndk.shを使用してc++クラスの.soを作成する必要があります

C ++側では、JNIメソッドを宣言する必要があります

JNIEXPORT void JNICALL 
Java_org_your_ackage_someFunction(JNIEnv * env, jobject  obj)
{}

Java側

public class YourActivity extends Activity {
    // Load Native Libary
    static {
        System.loadLibrary("your_lib_name");
    }

    public native void someFunction();
}

次に、Javaで行うのと同じように関数を使用します。

この素敵なチュートリアルをご覧ください

于 2012-10-23T16:26:18.027 に答える
0

NDKの使用方法を学習しようとしているだけの場合は、NDKディレクトリにあるドキュメントとサンプルを参照してください。

hello-jni非常にわかりやすいサンプルから始めることをお勧めします。JavaからC/C++メソッドを呼び出す方法を示しています。

于 2012-10-23T16:19:20.710 に答える
0

AndroidNDKの例はたくさんありますpath/to/<android-ndk-folder>/samplesdocsフォルダや公式サイトにも役立つ情報がたくさんあります。

于 2012-10-23T16:38:36.807 に答える