2

JNIは初めてです。

同じJNI関数を使用したい2つ(またはそれ以上)のアクティビティがあります。
現在、両方が別の関数を呼び出す2つのJNI関数を定義する必要があります

int foo() { return 1; }

int Java_my_pkg_activity1_foo1(JNIEnv *env, jobject thiz) {
    return foo();
}

int Java_my_pkg_activity2_foo2(JNIEnv *env, jobject thiz) {
    return foo();
}

複数のアクティビティから呼び出すことができるJNI関数を1つだけ定義して、すべてのアクティビティに対してJava_my_pkg_activityX_foo2()を定義する必要がないようにするためのより便利な方法はありますか?

4

1 に答える 1

2

Javaレイヤーで共通クラスを定義するのはどうですか?新しいクラスをインスタンス化したくない場合は、メソッドを静的にすることもできます。

于 2012-05-12T03:52:40.530 に答える