9898
9999-keep class com.google.gson.reflect.TypeToken
100100-keep class * extends com.google.gson.reflect.TypeToken
101- -keep public class * implements java.lang.reflect.Type
101+ -keep public class * implements java.lang.reflect.Type
102+
103+ -keep class io.github.sds100.keymapper.sysbridge.service.SystemBridge {
104+ public <methods>;
105+ native <methods>;
106+ static <methods>;
107+ <init>(...);
108+ }
109+
110+ # Keep all AIDL interface classes and their methods
111+ -keep class io.github.sds100.keymapper.sysbridge.ISystemBridge** { *; }
112+ -keep class io.github.sds100.keymapper.sysbridge.IEvdevCallback** { *; }
113+ -keep class io.github.sds100.keymapper.sysbridge.IShizukuStarterService** { *; }
114+
115+ # Keep binder provider classes
116+ -keep class io.github.sds100.keymapper.sysbridge.provider.** { *; }
117+
118+ # Keep classes accessed via reflection or from system services
119+ -keep class io.github.sds100.keymapper.sysbridge.utils.** { *; }
120+
121+ # Keep native method signatures
122+ -keepclasseswithmembernames class * {
123+ native <methods>;
124+ }
125+
126+ # Keep classes that might be accessed via ContentProvider
127+ -keep class io.github.sds100.keymapper.sysbridge.** extends android.content.ContentProvider { *; }
128+
129+ # Keep parcelable classes used in AIDL
130+ -keep class io.github.sds100.keymapper.common.models.EvdevDeviceHandle { *; }
131+
132+ # Keep all rikka.hidden classes and interfaces as they contain AIDL files
133+ -keep class rikka.hidden.** { *; }
134+ -keep interface rikka.hidden.** { *; }
135+
136+ # Keep Android system API classes and interfaces that rikka.hidden depends on
137+ # android.app package classes
138+ -keep class android.app.ActivityManagerNative { *; }
139+ -keep class android.app.ActivityTaskManager$RootTaskInfo { *; }
140+ -keep class android.app.ContentProviderHolder { *; }
141+ -keep class android.app.IActivityManager** { *; }
142+ -keep class android.app.IApplicationThread** { *; }
143+ -keep class android.app.IProcessObserver** { *; }
144+ -keep class android.app.ITaskStackListener** { *; }
145+ -keep class android.app.IUidObserver** { *; }
146+ -keep class android.app.ProfilerInfo { *; }
147+
148+ # android.content package classes
149+ -keep class android.content.IContentProvider** { *; }
150+ -keep class android.content.IIntentReceiver** { *; }
151+
152+ # android.content.pm package classes
153+ -keep class android.content.pm.IPackageManager** { *; }
154+ -keep class android.content.pm.IPackageInstaller** { *; }
155+ -keep class android.content.pm.ILauncherApps** { *; }
156+ -keep class android.content.pm.IOnAppsChangedListener** { *; }
157+ -keep class android.content.pm.IPackageInstallerCallback** { *; }
158+ -keep class android.content.pm.ParceledListSlice { *; }
159+ -keep class android.content.pm.UserInfo { *; }
160+
161+ # android.hardware package classes
162+ -keep class android.hardware.input.IInputManager** { *; }
163+ -keep class android.hardware.display.IDisplayManager** { *; }
164+ -keep class android.hardware.display.IDisplayManagerCallback** { *; }
165+
166+ # android.os package classes
167+ -keep class android.os.BatteryProperty { *; }
168+ -keep class android.os.IBatteryPropertiesRegistrar** { *; }
169+ -keep class android.os.IDeviceIdleController { *; }
170+ -keep class android.os.IDeviceIdleController** { *; }
171+ -keep class android.os.IUserManager { *; }
172+ -keep class android.os.IUserManager** { *; }
173+ -keep class android.os.RemoteCallback** { *; }
174+ -keep class android.os.ServiceManager { *; }
175+
176+ # android.view package classes
177+ -keep class android.view.DisplayInfo { *; }
178+ -keep class android.view.IWindowManager** { *; }
179+
180+ # android.permission package classes
181+ -keep class android.permission.IPermissionManager** { *; }
182+
183+ # android.net package classes
184+ -keep class android.net.wifi.IWifiManager** { *; }
185+
186+ # com.android.internal package classes
187+ -keep class com.android.internal.app.IAppOpsActiveCallback** { *; }
188+ -keep class com.android.internal.app.IAppOpsNotedCallback** { *; }
189+ -keep class com.android.internal.app.IAppOpsService** { *; }
190+ -keep class com.android.internal.policy.IKeyguardLockedStateListener** { *; }
191+
192+ # Keep all Android AIDL interfaces (they implement IInterface)
193+ -keep class android.** implements android.os.IInterface { *; }
194+
195+ # Keep Android system service stubs and natives
196+ -keep class android.**Native { *; }
197+ -keep class android.**$Stub** { *; }
198+ -keep class android.**$Proxy** { *; }
199+
200+ # Keep Android hidden/internal classes that might be accessed via reflection
201+ -dontwarn android.app.ActivityManagerNative
202+ -dontwarn android.app.ActivityTaskManager$**
203+ -dontwarn android.app.ContentProviderHolder
204+ -dontwarn android.app.IActivityManager**
205+ -dontwarn android.app.IApplicationThread**
206+ -dontwarn android.app.IProcessObserver**
207+ -dontwarn android.app.ITaskStackListener**
208+ -dontwarn android.app.IUidObserver**
209+ -dontwarn android.app.ProfilerInfo
210+ -dontwarn android.app.AppOpsManager$**
211+ -dontwarn android.content.IContentProvider**
212+ -dontwarn android.content.IIntentReceiver**
213+ -dontwarn android.content.pm.ILauncherApps**
214+ -dontwarn android.content.pm.IOnAppsChangedListener**
215+ -dontwarn android.content.pm.IPackageInstallerCallback**
216+ -dontwarn android.content.pm.ParceledListSlice
217+ -dontwarn android.content.pm.UserInfo
218+ -dontwarn android.content.pm.PackageManagerHidden
219+ -dontwarn android.hardware.display.IDisplayManager**
220+ -dontwarn android.hardware.display.IDisplayManagerCallback**
221+ -dontwarn android.os.BatteryProperty
222+ -dontwarn android.os.IBatteryPropertiesRegistrar**
223+ -dontwarn android.os.IDeviceIdleController
224+ -dontwarn android.os.IDeviceIdleController**
225+ -dontwarn android.os.IUserManager
226+ -dontwarn android.os.IUserManager**
227+ -dontwarn android.os.RemoteCallback**
228+ -dontwarn android.os.ServiceManager
229+ -dontwarn android.os.UserHandle$**
230+ -dontwarn android.view.DisplayInfo
231+ -dontwarn android.view.IWindowManager**
232+ -dontwarn com.android.internal.app.**
233+ -dontwarn com.android.internal.policy.**
0 commit comments