Add defaults for optimizing system server java_sdk_library.

Bug: 182523293
Test: build
Change-Id: Ie8b2bff1521a05d53071a9bd34c240d4624cdca8
This commit is contained in:
Hai Zhang
2021-09-29 11:59:16 -07:00
parent ee390f26eb
commit 393a1ca321
2 changed files with 53 additions and 0 deletions

40
proguard/Android.bp Normal file
View File

@@ -0,0 +1,40 @@
// Copyright (C) 2021 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"],
default_visibility: [
":__subpackages__",
"//packages/modules/Permission:__subpackages__",
],
}
// Needed because otherwise java_defaults would resolve it in module directory.
filegroup {
name: "framework-system-server-module-optimize-proguard-rules",
srcs: [
"system-api.pro",
],
}
java_defaults {
name: "framework-system-server-module-optimize-defaults",
optimize: {
enabled: true,
shrink: true,
optimize: false,
obfuscate: false,
proguard_flags_files: [":framework-system-server-module-optimize-proguard-rules"],
},
}

13
proguard/system-api.pro Normal file
View File

@@ -0,0 +1,13 @@
-keep @interface android.annotation.SystemApi
-keep @android.annotation.SystemApi public class * {
public protected *;
}
-keepclasseswithmembers public class * {
@android.annotation.SystemApi public protected <fields>;
}
-keepclasseswithmembers public class * {
@android.annotation.SystemApi public protected <init>(...);
}
-keepclasseswithmembers public class * {
@android.annotation.SystemApi public protected <methods>;
}