diff options
Diffstat (limited to 'library/src/main/cpp/akono-jni.c')
-rw-r--r-- | library/src/main/cpp/akono-jni.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/library/src/main/cpp/akono-jni.c b/library/src/main/cpp/akono-jni.c new file mode 100644 index 00000000..49777431 --- /dev/null +++ b/library/src/main/cpp/akono-jni.c @@ -0,0 +1,47 @@ +#include <string.h> +#include <jni.h> + +/* This is a trivial JNI example where we use a native method + * to return a new VM String. See the corresponding Java source + * file located at: + * + * hello-jni/app/src/main/java/com/example/hellojni/HelloJni.java + */ +JNIEXPORT jstring JNICALL +Java_akono_AkonoJni_stringFromJNI( JNIEnv* env, + jobject thiz ) +{ +#if defined(__arm__) + #if defined(__ARM_ARCH_7A__) + #if defined(__ARM_NEON__) + #if defined(__ARM_PCS_VFP) + #define ABI "armeabi-v7a/NEON (hard-float)" + #else + #define ABI "armeabi-v7a/NEON" + #endif + #else + #if defined(__ARM_PCS_VFP) + #define ABI "armeabi-v7a (hard-float)" + #else + #define ABI "armeabi-v7a" + #endif + #endif + #else + #define ABI "armeabi" + #endif +#elif defined(__i386__) +#define ABI "x86" +#elif defined(__x86_64__) +#define ABI "x86_64" +#elif defined(__mips64) /* mips64el-* toolchain defines __mips__ too */ +#define ABI "mips64" +#elif defined(__mips__) +#define ABI "mips" +#elif defined(__aarch64__) +#define ABI "arm64-v8a" +#else +#define ABI "unknown" +#endif + + return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI " ABI "."); +} |