package { default_applicable_licenses: ["Android-Apache-2.0"], } android_app { name: "AconfigDemoActivity", manifest: "AndroidManifest.xml", srcs: [ "src/**/*.java", ], platform_apis: true, certificate: "platform", static_libs: [ "ContentLibs", "dagger2", "jsr330", ], jni_libs: [ "libexample_cpp_lib", ], required: ["libexample_rust_jni"], plugins: ["dagger2-compiler"], optimize: { proguard_flags_files: ["proguard.flags"], }, } aconfig_declarations { name: "aconfig_demo_flags", package: "com.example.android.aconfig.demo.flags", container: "system", srcs: ["aconfig_demo_flags.aconfig"], } java_aconfig_library { name: "aconfig_demo_flags_java_lib", aconfig_declarations: "aconfig_demo_flags", } filegroup { name: "ContentLibsFile", srcs: [ "lib/**/*.java", ], } java_defaults { name: "ContentLibsDefault", sdk_version: "current", srcs: [ ":ContentLibsFile", ], libs: ["jsr330"], } java_library { name: "ContentLibs", defaults: ["ContentLibsDefault"], static_libs: [ "aconfig_demo_flags_java_lib", ], } cc_aconfig_library { name: "aconfig_demo_flags_c_lib", aconfig_declarations: "aconfig_demo_flags", } cc_library { name: "libexample_cpp_lib", srcs: ["src/example_cpp_lib.cc"], double_loadable: true, cflags: [ "-Wall", "-Werror", "-Wno-unused-function", "-Wno-unused-parameter", ], header_libs: [ "jni_headers", ], shared_libs: [ "server_configurable_flags", ], static_libs: [ "aconfig_demo_flags_c_lib", ], export_include_dirs: ["src/include"], defaults: [ "aconfig_lib_cc_static_link.defaults", ], } rust_aconfig_library { name: "libaconfig_demo_flags_rust", crate_name: "aconfig_demo_flags_rust", aconfig_declarations: "aconfig_demo_flags", } rust_ffi_shared { name: "libexample_rust_jni", crate_name: "example_rust_jni", srcs: ["src/lib.rs"], rustlibs: [ "libjni", "libaconfig_demo_flags_rust", ], } // Test setup // Create test verion of the java flag library // It needs to use the same aconfig_declarations as // the production one java_aconfig_library { name: "aconfig_demo_flags_java_lib_test", aconfig_declarations: "aconfig_demo_flags", // host_supported is set to true here for test running // one host, in tests/unittests/Android.bp host_supported: true, mode: "test", }