75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
# Copyright (C) 2015 The Android Open Source Project
|
|
# Copyright (C) 2024-2025 The LineageOS 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.
|
|
#
|
|
# Keep enough data for stack traces
|
|
-renamesourcefileattribute SourceFile
|
|
-keepattributes SourceFile,
|
|
LineNumberTable,
|
|
RuntimeVisibleAnnotations,
|
|
RuntimeVisibleParameterAnnotations,
|
|
RuntimeVisibleTypeAnnotations,
|
|
AnnotationDefault
|
|
|
|
# Manifest / XML entry points. Do not keep the whole app or androidx packages —
|
|
# Play requires 25% shrink / optimize / obfuscate when uncompressed DEX > 10 MB.
|
|
-keep public class * extends android.app.Activity {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.app.Application {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.app.Service {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.content.BroadcastReceiver {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.content.ContentProvider {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.app.backup.BackupAgentHelper {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends android.preference.Preference {
|
|
void <init>();
|
|
}
|
|
-keep public class * extends androidx.preference.Preference {
|
|
public <init>(android.content.Context, android.util.AttributeSet);
|
|
public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
}
|
|
-keep public class * extends androidx.fragment.app.Fragment {
|
|
void <init>();
|
|
}
|
|
|
|
# Actions cross the ActionService / BackgroundWorker via Parcelable extras.
|
|
-keep class com.android.messaging.datamodel.action.Action {
|
|
void <init>();
|
|
}
|
|
-keep class * extends com.android.messaging.datamodel.action.Action {
|
|
public static android.os.Parcelable$Creator CREATOR;
|
|
<init>(...);
|
|
}
|
|
|
|
# Preserve the name of the getCaller method so it can find itself in the stack trace it generates
|
|
-keepclassmembers public class com.android.messaging.util.DebugUtils {
|
|
public static java.lang.StackTraceElement getCaller(...);
|
|
}
|
|
|
|
# Keep the static fields of referenced inner classes of auto-generated R classes, in case we
|
|
# access those fields by reflection
|
|
-keepclassmembers class **.R$* {
|
|
public static <fields>;
|
|
}
|