1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5android_app { 6 name: "AconfigDemoActivity", 7 manifest: "AndroidManifest.xml", 8 srcs: [ 9 "src/**/*.java", 10 ], 11 platform_apis: true, 12 certificate: "platform", 13 static_libs: [ 14 "ContentLibs", 15 "dagger2", 16 "jsr330", 17 ], 18 jni_libs: [ 19 "libexample_cpp_lib", 20 ], 21 required: ["libexample_rust_jni"], 22 plugins: ["dagger2-compiler"], 23 optimize: { 24 proguard_flags_files: ["proguard.flags"], 25 }, 26} 27 28aconfig_declarations { 29 name: "aconfig_demo_flags", 30 package: "com.example.android.aconfig.demo.flags", 31 container: "system", 32 srcs: ["aconfig_demo_flags.aconfig"], 33} 34 35java_aconfig_library { 36 name: "aconfig_demo_flags_java_lib", 37 aconfig_declarations: "aconfig_demo_flags", 38} 39 40filegroup { 41 name: "ContentLibsFile", 42 srcs: [ 43 "lib/**/*.java", 44 ], 45} 46 47java_defaults { 48 name: "ContentLibsDefault", 49 sdk_version: "current", 50 srcs: [ 51 ":ContentLibsFile", 52 ], 53 libs: ["jsr330"], 54} 55 56java_library { 57 name: "ContentLibs", 58 defaults: ["ContentLibsDefault"], 59 static_libs: [ 60 "aconfig_demo_flags_java_lib", 61 ], 62} 63 64cc_aconfig_library { 65 name: "aconfig_demo_flags_c_lib", 66 aconfig_declarations: "aconfig_demo_flags", 67} 68 69cc_library { 70 name: "libexample_cpp_lib", 71 srcs: ["src/example_cpp_lib.cc"], 72 double_loadable: true, 73 cflags: [ 74 "-Wall", 75 "-Werror", 76 "-Wno-unused-function", 77 "-Wno-unused-parameter", 78 ], 79 header_libs: [ 80 "jni_headers", 81 ], 82 shared_libs: [ 83 "server_configurable_flags", 84 ], 85 static_libs: [ 86 "aconfig_demo_flags_c_lib", 87 ], 88 export_include_dirs: ["src/include"], 89 defaults: [ 90 "aconfig_lib_cc_static_link.defaults", 91 ], 92} 93 94rust_aconfig_library { 95 name: "libaconfig_demo_flags_rust", 96 crate_name: "aconfig_demo_flags_rust", 97 aconfig_declarations: "aconfig_demo_flags", 98} 99 100rust_ffi_shared { 101 name: "libexample_rust_jni", 102 crate_name: "example_rust_jni", 103 srcs: ["src/lib.rs"], 104 rustlibs: [ 105 "libjni", 106 "libaconfig_demo_flags_rust", 107 ], 108} 109 110// Test setup 111 112// Create test verion of the java flag library 113// It needs to use the same aconfig_declarations as 114// the production one 115java_aconfig_library { 116 name: "aconfig_demo_flags_java_lib_test", 117 aconfig_declarations: "aconfig_demo_flags", 118 // host_supported is set to true here for test running 119 // one host, in tests/unittests/Android.bp 120 host_supported: true, 121 mode: "test", 122} 123