このようなコマンドよりも簡単に jni フォルダーに .h ファイルを生成する方法があるかどうか疑問に思っています
javah -jni -classpath bin/classes/ -d jni/ com.example.test_ndk.FibLib
つまり、このステップを自動化したいので、書くだけです
public native static long fibNR(long n);
そして、Eclipseはjniフォルダーに.hファイルを生成します
どうやってやるの ?
このようなコマンドよりも簡単に jni フォルダーに .h ファイルを生成する方法があるかどうか疑問に思っています
javah -jni -classpath bin/classes/ -d jni/ com.example.test_ndk.FibLib
つまり、このステップを自動化したいので、書くだけです
public native static long fibNR(long n);
そして、Eclipseはjniフォルダーに.hファイルを生成します
どうやってやるの ?
オプション1:
-jni違いが生じる場合は、オプションを含める必要はありません。これはのデフォルトオプションですjavah。
javah -classpath bin/classes/ -d jni/ com.example.test_ndk.FibLib
オプション2:
もう1つの方法は、ヘッダーファイルを自分で作成することですが、これは簡単なオプションではありません。ヘッダーは次のようになります(パッケージ名に文字を使用したため、前ndkに1があります。これを入力しないと、呼び出し元は、というフォルダー内で呼び出されるフォルダーを検索します。したがって、お勧めしません。パッケージ名としてtest_ndkを使用します。代わりに、testNdkまたはアンダースコア付きの何かを使用します):test_1ndk_ndktest
#include <jni.h>
JNIEXPORT jlong JNICALL Java_com_example_test_1ndk_FibLib(JNIEnv*, jclass, jlong);
// use jobject instead of jclass if your method is non-static
そして、一般的な形式は次のとおりです。
JNIEXPORT [returnType] JNICALL Java_[package name with folders separated by _]_[class name]_[method name] (JNIEnv*, jclass, jtype arguments);