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 target_sdk_version: "current" 40} 41 42android_test_helper_app { 43 name: "CtsSplitApp", 44 defaults: ["CtsSplitAppDefaults"], 45 package_splits: [ 46 "mdpi-v4", 47 "hdpi-v4", 48 "xhdpi-v4", 49 "xxhdpi-v4", 50 "v7", 51 "v23", 52 "fr", 53 "de", 54 ], 55 certificate: ":cts-testkey1", 56 aaptflags: [ 57 "--version-code 100", 58 "--version-name OneHundred", 59 "--replace-version", 60 ], 61 // Feature splits are dependent on this base, so it must be exported. 62 export_package_resources: true, 63 test_suites: [ 64 "cts", 65 "general-tests", 66 "mts-mainline-infra", 67 ], 68} 69 70// Define a variant with a different revision code 71android_test_helper_app { 72 name: "CtsSplitAppDiffRevision", 73 defaults: ["CtsSplitAppDefaults"], 74 package_splits: ["v7"], 75 certificate: ":cts-testkey1", 76 aaptflags: [ 77 "--version-code 100", 78 "--revision-code 12", 79 "--version-name OneHundredRevisionTwelve", 80 "--replace-version", 81 ], 82 test_suites: [ 83 "cts", 84 "general-tests", 85 ], 86} 87 88// Define a variant with a different version code 89android_test_helper_app { 90 name: "CtsSplitAppDiffVersion", 91 defaults: ["CtsSplitAppDefaults"], 92 package_splits: ["v7"], 93 certificate: ":cts-testkey1", 94 aaptflags: [ 95 "--version-code 101", 96 "--version-name OneHundredOne", 97 "--replace-version", 98 ], 99 test_suites: [ 100 "cts", 101 "general-tests", 102 ], 103} 104 105// Define a variant with a different signature 106android_test_helper_app { 107 name: "CtsSplitAppDiffCert", 108 defaults: ["CtsSplitAppDefaults"], 109 package_splits: ["v7"], 110 certificate: ":cts-testkey2", 111 aaptflags: [ 112 "--version-code 100", 113 "--version-name OneHundred", 114 "--replace-version", 115 ], 116 test_suites: [ 117 "cts", 118 "general-tests", 119 ], 120} 121 122// Define a variant requiring a split for install 123android_test_helper_app { 124 name: "CtsNeedSplitApp", 125 defaults: ["CtsSplitAppDefaults"], 126 manifest: "needsplit/AndroidManifest.xml", 127 package_splits: ["xxhdpi-v4"], 128 certificate: ":cts-testkey1", 129 aaptflags: [ 130 "--version-code 100", 131 "--version-name OneHundredRevisionTwelve", 132 "--replace-version", 133 ], 134 test_suites: [ 135 "cts", 136 "general-tests", 137 ], 138} 139 140// Define a variant with different codes and resources for the inherit updated test of the base apk 141android_test_helper_app { 142 name: "CtsSplitAppRevisionA", 143 defaults: ["CtsSplitAppDefaults"], 144 srcs: ["src/**/*.java", "revision_a/src/**/*.java"], 145 resource_dirs: ["res", "revision_a/res"], 146 asset_dirs: ["revision_a/assets"], 147 manifest : "revision_a/AndroidManifest.xml", 148 package_splits: ["v7"], 149 certificate: ":cts-testkey1", 150 aaptflags: [ 151 "--version-code 100", 152 "--revision-code 10", 153 "--version-name OneHundredRevisionTen", 154 "--replace-version", 155 ], 156 test_suites: [ 157 "cts", 158 "general-tests", 159 ], 160} 161 162// Define a variant which includes a provider and service declared in other split apk. And they only 163// could be tested in the instant app. 164android_test_helper_app { 165 name: "CtsSplitInstantApp", 166 defaults: ["CtsSplitAppDefaults"], 167 manifest : "instantapp/AndroidManifest.xml", 168 certificate: ":cts-testkey1", 169 aaptflags: [ 170 "--version-code 100", 171 "--version-name OneHundred", 172 "--replace-version", 173 ], 174 test_suites: [ 175 "cts", 176 "general-tests", 177 ], 178} 179