Files
AndroidIDE/app/proguard-rules.pro
T
2023-02-13 19:26:44 +05:30

88 lines
2.5 KiB
Prolog
Executable File

-ignorewarnings
-dontwarn **
-dontnote **
-dontobfuscate
-keep class javax.** { *; }
-keep class jdkx.** { *; }
# keep javac classes
-keep class openjdk.** { *; }
# Android builder model interfaces
-keep class com.android.** { *; }
# Tooling API classes
-keep class com.itsaky.androidide.tooling.** { *; }
# Builder model implementations
-keep class com.itsaky.androidide.builder.model.** { *; }
# Eclipse
-keep class org.eclipse.** { *; }
# JAXP
-keep class jaxp.** { *; }
-keep class org.w3c.** { *; }
-keep class org.xml.** { *; }
# Services
-keepclassmembers class ** {
@com.google.auto.service.AutoService <methods>;
}
# EventBus
-keepattributes *Annotation*
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}
# Accessed reflectively
-keep class io.github.rosemoe.sora.widget.component.EditorAutoCompletion {
io.github.rosemoe.sora.widget.component.EditorCompletionAdapter adapter;
int currentSelection;
}
-keep class com.itsaky.androidide.projects.util.StringSearch {
packageName(java.nio.file.Path);
}
-keep class * implements org.antlr.v4.runtime.Lexer {
<init>(...);
}
-keep class * extends com.itsaky.androidide.lsp.java.providers.completion.IJavaCompletionProvider {
<init>(...);
}
-keep class com.itsaky.androidide.editor.api.IEditor { *; }
-keep class * extends com.itsaky.androidide.inflater.IViewAdapter { *; }
-keep class * extends com.itsaky.androidide.inflater.drawable.IDrawableParser {
<init>(...);
android.graphics.drawable.Drawable parse();
android.graphics.drawable.Drawable parseDrawable();
}
-keep class com.itsaky.androidide.utils.DialogUtils { public <methods>; }
# APK Metadata
-keep class com.itsaky.androidide.models.ApkMetadata { *; }
-keep class com.itsaky.androidide.models.ArtifactType { *; }
-keep class com.itsaky.androidide.models.MetadataElement { *; }
# Parcelable
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
# Used in preferences
-keep enum com.itsaky.androidide.lsp.xml.models.EmptyElements { *; }
-keep enum com.itsaky.androidide.xml.permissions.Permission { *; }
# Lots of native methods in tree-sitter
# There are some fields as well that are accessed from native field
-keepclasseswithmembers class ** {
native <methods>;
}
-keep class com.itsaky.androidide.treesitter.** { *; }