# Copyright 2016 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/android/rules.gni") import("//third_party/jni_zero/jni_zero.gni") testonly = true generate_jni("sample_header") { sources = [ "java/src/org/jni_zero/sample/Sample.java" ] } android_library("sample_java") { srcjar_deps = [ ":sample_header" ] sources = [ "java/src/org/jni_zero/sample/Sample.java", "java/src/org/jni_zero/sample/SampleActivity.java", ] deps = [ "//build/android:build_java", "//third_party/jni_zero:jni_zero_java", ] } source_set("sample_native_side") { deps = [ ":sample_header" ] sources = [ "sample.cc" ] } shared_library_with_jni("libjni_zero_sample") { if (allow_jni_multiplexing) { _linker_script = "sample_lib_multiplexing_version_script.txt" } else { _linker_script = "sample_lib_version_script.txt" } sources = [ "sample_entry_point.cc" ] deps = [ ":sample_native_side", "//third_party/jni_zero", ] inputs = [ _linker_script ] ldflags = [ "-Wl,--version-script=" + rebase_path(_linker_script, root_build_dir) ] java_targets = [ ":jni_zero_sample_apk" ] remove_uncalled_jni = true } android_apk("jni_zero_sample_apk") { apk_name = "JniZeroSample" android_manifest = "AndroidManifest.xml" deps = [ ":sample_java" ] shared_libraries = [ ":libjni_zero_sample" ] srcjar_deps = [ ":libjni_zero_sample__jni_registration" ] } instrumentation_test_apk("jni_zero_sample_apk_test") { apk_name = "JniZeroSampleTest" apk_under_test = ":jni_zero_sample_apk" android_manifest = "javatests/AndroidManifest.xml" sources = [ "javatests/src/org/jni_zero/test_sample/JniZeroSampleTest.java" ] deps = [ ":sample_java", "//third_party/androidx:androidx_test_core_java", "//third_party/androidx:androidx_test_ext_junit_java", "//third_party/androidx:androidx_test_rules_java", "//third_party/androidx:androidx_test_runner_java", "//third_party/google-truth:google_truth_java", "//third_party/junit", ] }