Also add BLUETOOTH_CONNECT permission which is needed for access PanService if target sdk 31+. The permission would be granted to privilege application without prompt. Also remove the min_sdk_version 29 from AndroidManifest because it is useless that the Android.bp already define min_sdk_version 30. $aapt dump xmltree TetheringNext.apk AndroidManifest.xml N: android=http://schemas.android.com/apk/res/android E: manifest (line=19) A: android:sharedUserId(0x0101000b)="android.uid.networkstack" (Raw: "android.uid.networkstack") A: android:versionCode(0x0101021b)=(type 0x10)0x1f A: android:versionName(0x0101021c)="Tiramisu" (Raw: "Tiramisu") A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1f A: android:compileSdkVersionCodename(0x01010573)="Tiramisu" (Raw: "Tiramisu") A: package="com.android.networkstack.tethering" (Raw: "com.android.networkstack.tethering") A: platformBuildVersionCode=(type 0x10)0x1f A: platformBuildVersionName="Tiramisu" (Raw: "Tiramisu") E: uses-sdk (line=23) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x1e A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1f .... E: uses-permission (line=35) A: android:name(0x01010003)="android.permission.BLUETOOTH_CONNECT" (Raw: "android.permission.BLUETOOTH_CONNECT") Bug: 204265450 Test: manual testing bluetooth tethering and TH Change-Id: I6f821020679b9379cada29f6f0816187545a24fb
150 lines
5.0 KiB
Plaintext
150 lines
5.0 KiB
Plaintext
//
|
|
// Copyright (C) 2020 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
package {
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
java_defaults {
|
|
name: "TetheringIntegrationTestsDefaults",
|
|
defaults: ["framework-connectivity-test-defaults"],
|
|
srcs: [
|
|
"src/**/*.java",
|
|
"src/**/*.kt",
|
|
],
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"NetworkStackApiStableLib",
|
|
"androidx.test.rules",
|
|
"mockito-target-extended-minus-junit4",
|
|
"net-tests-utils",
|
|
"testables",
|
|
],
|
|
libs: [
|
|
"android.test.runner",
|
|
"android.test.base",
|
|
"android.test.mock",
|
|
],
|
|
jni_libs: [
|
|
// For mockito extended
|
|
"libdexmakerjvmtiagent",
|
|
"libstaticjvmtiagent",
|
|
],
|
|
}
|
|
|
|
// Library including tethering integration tests targeting the latest stable SDK.
|
|
// Use with NetworkStackJarJarRules.
|
|
android_library {
|
|
name: "TetheringIntegrationTestsLatestSdkLib",
|
|
target_sdk_version: "31",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
visibility: [
|
|
"//packages/modules/Connectivity/tests/cts/tethering",
|
|
"//packages/modules/Connectivity/tests:__subpackages__",
|
|
"//packages/modules/Connectivity/Tethering/tests:__subpackages__",
|
|
]
|
|
}
|
|
|
|
// Library including tethering integration tests targeting current development SDK.
|
|
// Use with NetworkStackJarJarRules.
|
|
android_library {
|
|
name: "TetheringIntegrationTestsLib",
|
|
target_sdk_version: "current",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
visibility: [
|
|
"//packages/modules/Connectivity/tests/cts/tethering",
|
|
"//packages/modules/Connectivity/Tethering/tests/mts",
|
|
]
|
|
}
|
|
|
|
android_test {
|
|
name: "TetheringIntegrationTests",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
test_suites: [
|
|
"device-tests",
|
|
"mts-tethering",
|
|
],
|
|
compile_multilib: "both",
|
|
jarjar_rules: ":NetworkStackJarJarRules",
|
|
}
|
|
|
|
android_library {
|
|
name: "TetheringCoverageTestsLib",
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"NetdStaticLibTestsLib",
|
|
"NetworkStaticLibTestsLib",
|
|
"NetworkStackTestsLib",
|
|
"TetheringTestsLatestSdkLib",
|
|
"TetheringIntegrationTestsLatestSdkLib",
|
|
],
|
|
// Jarjar rules should normally be applied on final artifacts and not intermediate libraries as
|
|
// applying different rules on intermediate libraries can cause conflicts when combining them
|
|
// (the resulting artifact can end up with multiple incompatible implementations of the same
|
|
// classes). But this library is used to combine tethering coverage tests with connectivity
|
|
// coverage tests into a single coverage target. The tests need to use the same jarjar rules as
|
|
// covered production code for coverage to be calculated properly, so jarjar is applied
|
|
// separately on each set of tests.
|
|
jarjar_rules: ":TetheringCoverageJarJarRules",
|
|
manifest: "AndroidManifest_coverage.xml",
|
|
visibility: [
|
|
"//packages/modules/Connectivity/tests:__subpackages__"
|
|
],
|
|
}
|
|
|
|
// Combine NetworkStack and Tethering jarjar rules for coverage target. The jarjar files are
|
|
// simply concatenated in the order specified in srcs.
|
|
genrule {
|
|
name: "TetheringCoverageJarJarRules",
|
|
srcs: [
|
|
":TetheringTestsJarJarRules",
|
|
":NetworkStackJarJarRules",
|
|
],
|
|
out: ["jarjar-rules-tethering-coverage.txt"],
|
|
cmd: "cat $(in) > $(out)",
|
|
visibility: ["//visibility:private"],
|
|
}
|
|
|
|
// Special version of the tethering tests that includes all tests necessary for code coverage
|
|
// purposes. This is currently the union of TetheringTests, TetheringIntegrationTests and
|
|
// NetworkStackTests.
|
|
// TODO: remove in favor of ConnectivityCoverageTests, which includes below tests and more
|
|
android_test {
|
|
name: "TetheringCoverageTests",
|
|
platform_apis: true,
|
|
min_sdk_version: "30",
|
|
target_sdk_version: "31",
|
|
test_suites: ["device-tests", "mts-tethering"],
|
|
test_config: "AndroidTest_Coverage.xml",
|
|
defaults: ["libnetworkstackutilsjni_deps"],
|
|
static_libs: [
|
|
"modules-utils-native-coverage-listener",
|
|
"TetheringCoverageTestsLib",
|
|
],
|
|
jni_libs: [
|
|
// For mockito extended
|
|
"libdexmakerjvmtiagent",
|
|
"libstaticjvmtiagent",
|
|
// For NetworkStackUtils included in NetworkStackBase
|
|
"libnetworkstackutilsjni",
|
|
"libcom_android_networkstack_tethering_util_jni",
|
|
],
|
|
compile_multilib: "both",
|
|
manifest: "AndroidManifest_coverage.xml",
|
|
}
|