diff --git a/proguard/Android.bp b/proguard/Android.bp new file mode 100644 index 0000000..e011a61 --- /dev/null +++ b/proguard/Android.bp @@ -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"], + }, +} diff --git a/proguard/system-api.pro b/proguard/system-api.pro new file mode 100644 index 0000000..6e08c50 --- /dev/null +++ b/proguard/system-api.pro @@ -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 ; +} +-keepclasseswithmembers public class * { + @android.annotation.SystemApi public protected (...); +} +-keepclasseswithmembers public class * { + @android.annotation.SystemApi public protected ; +}