diff options
author | Steven Dee <steven@choosemuse.com> | 2015-08-03 09:53:26 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-08-04 09:07:21 +0000 |
commit | 6082c78c9436045863dc999011050e44ab9afe7e (patch) | |
tree | 2f44f59024eb0688723800f9dce13e615e0731dd /examples | |
parent | e0adfc693f7ee42aba5713f4ef2336e86835ff0b (diff) |
New-style android example
- Make the jni target depend on another cc_library.
- Disable legacy native support in hello_world.
- Make MainActivity load hello_world rather than jni.
--
Change-Id: I497ba680eec4e16ee14628294d2c1260db69ad82
Reviewed-on: https://bazel-review.googlesource.com/#/c/1740/
MOS_MIGRATED_REVID=99709707
Diffstat (limited to 'examples')
-rw-r--r-- | examples/android/java/bazel/BUILD | 7 | ||||
-rw-r--r-- | examples/android/java/bazel/MainActivity.java | 2 | ||||
-rw-r--r-- | examples/android/java/bazel/jni.cc | 17 | ||||
-rw-r--r-- | examples/android/java/bazel/jni_dep.cc | 17 | ||||
-rw-r--r-- | examples/android/java/bazel/jni_dep.h | 5 |
5 files changed, 32 insertions, 16 deletions
diff --git a/examples/android/java/bazel/BUILD b/examples/android/java/bazel/BUILD index 1a6ebe7e76..69973a4567 100644 --- a/examples/android/java/bazel/BUILD +++ b/examples/android/java/bazel/BUILD @@ -9,6 +9,7 @@ android_binary( "MainActivity.java", "Jni.java", ]), + legacy_native_support = 0, manifest = "AndroidManifest.xml", deps = [ ":jni", @@ -19,4 +20,10 @@ android_binary( cc_library( name = "jni", srcs = ["jni.cc"], + deps = [":jni_dep"], +) + +cc_library( + name = "jni_dep", + srcs = ["jni_dep.cc"], ) diff --git a/examples/android/java/bazel/MainActivity.java b/examples/android/java/bazel/MainActivity.java index c50cd4ac02..4fdecd708f 100644 --- a/examples/android/java/bazel/MainActivity.java +++ b/examples/android/java/bazel/MainActivity.java @@ -14,7 +14,7 @@ public class MainActivity extends Activity { Log.v("Bazel", "Hello, Android"); Log.v("Bazel", "Lib says: " + Lib.message()); - System.loadLibrary("jni"); + System.loadLibrary("hello_world"); Log.v("Bazel", "JNI says: " + Jni.hello()); } } diff --git a/examples/android/java/bazel/jni.cc b/examples/android/java/bazel/jni.cc index b103f45145..7a6cf865e4 100644 --- a/examples/android/java/bazel/jni.cc +++ b/examples/android/java/bazel/jni.cc @@ -1,21 +1,8 @@ #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))); +#include "examples/android/java/bazel/jni_dep.h" - for (int i = 0; i < len ; i++) { - str1[i] = (unsigned char) str[i]; - } - jstring result = env->NewString(str1, len); - free(str1); - return result; -} +const char* hello = "Hello JNI"; extern "C" JNIEXPORT jstring JNICALL Java_bazel_Jni_hello(JNIEnv *env, jclass clazz) { diff --git a/examples/android/java/bazel/jni_dep.cc b/examples/android/java/bazel/jni_dep.cc new file mode 100644 index 0000000000..bc6b605fe9 --- /dev/null +++ b/examples/android/java/bazel/jni_dep.cc @@ -0,0 +1,17 @@ +#include "examples/android/java/bazel/jni_dep.h" + +#include <stdlib.h> +#include <string.h> + +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; +} diff --git a/examples/android/java/bazel/jni_dep.h b/examples/android/java/bazel/jni_dep.h new file mode 100644 index 0000000000..05db52a487 --- /dev/null +++ b/examples/android/java/bazel/jni_dep.h @@ -0,0 +1,5 @@ +#pragma once + +#include <jni.h> + +jstring NewStringLatin1(JNIEnv *env, const char *str); |