Самый простой способ для создания файлов в папке JNI Android

Меня интересует, есть ли способ создать файлы .h в папке jni проще, чем команда, как эта

javah -jni -classpath bin/classes/ -d jni/ com.example.test_ndk.FibLib

Я имею в виду, я хочу автоматизировать этот шаг, поэтому я должен писать только

public native static long fibNR(long n);

а затем затмение будет генерировать файлы .h в папке jni для меня

Как я могу это сделать ?

3

Решение

Опция 1:

Если это имеет значение, вам не нужно включать -jni вариант. Это вариант по умолчанию для javah,

javah -classpath bin/classes/ -d jni/ com.example.test_ndk.FibLib

Вариант 2:

Другой альтернативой может быть создание файла заголовка самостоятельно, но это не более простой вариант. Ваш заголовок будет выглядеть так (перед 1 ndk в test_1ndk потому что вы использовали _ символ в названии пакета. Если мы не введем его, вызывающий будет искать папку с именем ndk внутри папки с именем testпоэтому я бы не рекомендовал использовать test_ndk в качестве имени вашего пакета. Вместо этого используйте testNdk или что-то с подчеркиванием):

#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);
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]