1# Copyright 2016 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//build/config/android/rules.gni") 6import("//third_party/jni_zero/jni_zero.gni") 7 8testonly = true 9 10generate_jni("sample_header") { 11 sources = [ "java/src/org/jni_zero/sample/Sample.java" ] 12} 13 14android_library("sample_java") { 15 srcjar_deps = [ ":sample_header" ] 16 sources = [ 17 "java/src/org/jni_zero/sample/Sample.java", 18 "java/src/org/jni_zero/sample/SampleActivity.java", 19 ] 20 21 deps = [ 22 "//build/android:build_java", 23 "//third_party/jni_zero:jni_zero_java", 24 ] 25} 26 27source_set("sample_native_side") { 28 deps = [ ":sample_header" ] 29 sources = [ "sample.cc" ] 30} 31 32shared_library_with_jni("libjni_zero_sample") { 33 if (allow_jni_multiplexing) { 34 _linker_script = "sample_lib_multiplexing_version_script.txt" 35 } else { 36 _linker_script = "sample_lib_version_script.txt" 37 } 38 sources = [ "sample_entry_point.cc" ] 39 40 deps = [ 41 ":sample_native_side", 42 "//third_party/jni_zero", 43 ] 44 inputs = [ _linker_script ] 45 ldflags = 46 [ "-Wl,--version-script=" + rebase_path(_linker_script, root_build_dir) ] 47 java_targets = [ ":jni_zero_sample_apk" ] 48 remove_uncalled_jni = true 49} 50 51android_apk("jni_zero_sample_apk") { 52 apk_name = "JniZeroSample" 53 android_manifest = "AndroidManifest.xml" 54 deps = [ ":sample_java" ] 55 shared_libraries = [ ":libjni_zero_sample" ] 56 srcjar_deps = [ ":libjni_zero_sample__jni_registration" ] 57} 58 59instrumentation_test_apk("jni_zero_sample_apk_test") { 60 apk_name = "JniZeroSampleTest" 61 apk_under_test = ":jni_zero_sample_apk" 62 android_manifest = "javatests/AndroidManifest.xml" 63 sources = [ "javatests/src/org/jni_zero/test_sample/JniZeroSampleTest.java" ] 64 deps = [ 65 ":sample_java", 66 "//third_party/androidx:androidx_test_core_java", 67 "//third_party/androidx:androidx_test_ext_junit_java", 68 "//third_party/androidx:androidx_test_rules_java", 69 "//third_party/androidx:androidx_test_runner_java", 70 "//third_party/google-truth:google_truth_java", 71 "//third_party/junit", 72 ] 73} 74