diff options
Diffstat (limited to 'examples/android/java/bazel/jni.cc')
-rw-r--r-- | examples/android/java/bazel/jni.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/android/java/bazel/jni.cc b/examples/android/java/bazel/jni.cc new file mode 100644 index 0000000000..b103f45145 --- /dev/null +++ b/examples/android/java/bazel/jni.cc @@ -0,0 +1,23 @@ +#include <jni.h> +#include <stdlib.h> +#include <string.h> + +const char* hello = "Hello JNI"; + +static jstring NewStringLatin1(JNIEnv *env, const char *str) { + int len = strlen(str); + jchar *str1; + str1 = reinterpret_cast<jchar *>(malloc(len * sizeof(jchar))); + + for (int i = 0; i < len ; i++) { + str1[i] = (unsigned char) str[i]; + } + jstring result = env->NewString(str1, len); + free(str1); + return result; +} + +extern "C" JNIEXPORT jstring JNICALL +Java_bazel_Jni_hello(JNIEnv *env, jclass clazz) { + return NewStringLatin1(env, hello); +} |