1// 2// Copyright (C) 2020 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17package { 18 default_applicable_licenses: ["Android-Apache-2.0"], 19} 20 21java_defaults { 22 name: "CtsSplitAppDefaults", 23 defaults: ["cts_support_defaults"], 24 srcs: ["src/**/*.java"], 25 asset_dirs: ["assets"], 26 sdk_version: "current", 27 min_sdk_version: "4", 28 aapt_include_all_resources: true, 29 static_libs: [ 30 "androidx.test.rules", 31 "truth-prebuilt", 32 "hamcrest-library", 33 "compatibility-device-util-axt", 34 ], 35 libs: [ 36 "android.test.runner.stubs", 37 "android.test.base.stubs", 38 ], 39} 40 41android_test_helper_app { 42 name: "CtsSplitApp", 43 defaults: ["CtsSplitAppDefaults"], 44 package_splits: [ 45 "mdpi-v4", 46 "hdpi-v4", 47 "xhdpi-v4", 48 "xxhdpi-v4", 49 "v7", 50 "v23", 51 "fr", 52 "de", 53 ], 54 certificate: ":cts-testkey1", 55 aaptflags: [ 56 "--version-code 100", 57 "--version-name OneHundred", 58 "--replace-version", 59 ], 60 // Feature splits are dependent on this base, so it must be exported. 61 export_package_resources: true, 62 test_suites: [ 63 "cts", 64 "general-tests", 65 "mts-mainline-infra", 66 ], 67} 68 69// Define a variant with a different revision code 70android_test_helper_app { 71 name: "CtsSplitAppDiffRevision", 72 defaults: ["CtsSplitAppDefaults"], 73 package_splits: ["v7"], 74 certificate: ":cts-testkey1", 75 aaptflags: [ 76 "--version-code 100", 77 "--revision-code 12", 78 "--version-name OneHundredRevisionTwelve", 79 "--replace-version", 80 ], 81 test_suites: [ 82 "cts", 83 "general-tests", 84 ], 85} 86 87// Define a variant with a different version code 88android_test_helper_app { 89 name: "CtsSplitAppDiffVersion", 90 defaults: ["CtsSplitAppDefaults"], 91 package_splits: ["v7"], 92 certificate: ":cts-testkey1", 93 aaptflags: [ 94 "--version-code 101", 95 "--version-name OneHundredOne", 96 "--replace-version", 97 ], 98 test_suites: [ 99 "cts", 100 "general-tests", 101 ], 102} 103 104// Define a variant with a different signature 105android_test_helper_app { 106 name: "CtsSplitAppDiffCert", 107 defaults: ["CtsSplitAppDefaults"], 108 package_splits: ["v7"], 109 certificate: ":cts-testkey2", 110 aaptflags: [ 111 "--version-code 100", 112 "--version-name OneHundred", 113 "--replace-version", 114 ], 115 test_suites: [ 116 "cts", 117 "general-tests", 118 ], 119} 120 121// Define a variant requiring a split for install 122android_test_helper_app { 123 name: "CtsNeedSplitApp", 124 defaults: ["CtsSplitAppDefaults"], 125 manifest: "needsplit/AndroidManifest.xml", 126 package_splits: ["xxhdpi-v4"], 127 certificate: ":cts-testkey1", 128 aaptflags: [ 129 "--version-code 100", 130 "--version-name OneHundredRevisionTwelve", 131 "--replace-version", 132 ], 133 test_suites: [ 134 "cts", 135 "general-tests", 136 ], 137} 138 139// Define a variant with different codes and resources for the inherit updated test of the base apk 140android_test_helper_app { 141 name: "CtsSplitAppRevisionA", 142 defaults: ["CtsSplitAppDefaults"], 143 srcs: ["src/**/*.java", "revision_a/src/**/*.java"], 144 resource_dirs: ["res", "revision_a/res"], 145 asset_dirs: ["revision_a/assets"], 146 manifest : "revision_a/AndroidManifest.xml", 147 package_splits: ["v7"], 148 certificate: ":cts-testkey1", 149 aaptflags: [ 150 "--version-code 100", 151 "--revision-code 10", 152 "--version-name OneHundredRevisionTen", 153 "--replace-version", 154 ], 155 test_suites: [ 156 "cts", 157 "general-tests", 158 ], 159} 160 161// Define a variant which includes a provider and service declared in other split apk. And they only 162// could be tested in the instant app. 163android_test_helper_app { 164 name: "CtsSplitInstantApp", 165 defaults: ["CtsSplitAppDefaults"], 166 manifest : "instantapp/AndroidManifest.xml", 167 certificate: ":cts-testkey1", 168 aaptflags: [ 169 "--version-code 100", 170 "--version-name OneHundred", 171 "--replace-version", 172 ], 173 test_suites: [ 174 "cts", 175 "general-tests", 176 ], 177} 178