This repository has been archived by the owner on Oct 18, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 322
/
proguard-rules.pro
executable file
·129 lines (104 loc) · 3.6 KB
/
proguard-rules.pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
-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
-keep @com.google.auto.service.AutoService class ** {
}
-keepclassmembers class ** {
@com.google.auto.service.AutoService <methods>;
}
# EventBus
-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 org.eclipse.lemminx.dom.builder.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.** { *; }
# Retrofit 2
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
# OkHttp3
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
# Stat uploader
-keep class com.itsaky.androidide.stats.** { *; }
# Gson
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
## Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
## Themes
-keep enum com.itsaky.androidide.ui.themes.IDETheme {
*;
}
## Contributor models - deserialized with GSON
-keep class * implements com.itsaky.androidide.contributors.Contributor {
*;
}