diff --git a/core/proguard-rules.pro b/core/proguard-rules.pro index f23c8f7c..7bb297f0 100644 --- a/core/proguard-rules.pro +++ b/core/proguard-rules.pro @@ -1,55 +1,28 @@ -keep class de.robv.android.xposed.** {*;} -keep class io.github.libxposed.** {*;} +-keepattributes RuntimeVisibleAnnotations -keep class android.** { *; } -keepclasseswithmembers,includedescriptorclasses class * { native ; } -keepclassmembers class org.lsposed.lspd.impl.LSPosedContext { - getAssets(...); - getResources(...); - getPackageManager(...); - getMainLooper(...); - setTheme(...); - getTheme(...); - getClassLoader(...); - getPackageName(...); - getApplicationInfo(...); - getPackageResourcePath(...); - getPackageCodePath(...); - getSharedPreferences(...); - moveSharedPreferencesFrom(...); - deleteSharedPreferences(...); - openFileInput(...); - deleteFile(...); - getFileStreamPath(...); - getDataDir(...); - getFilesDir(...); - getNoBackupFilesDir(...); - getCacheDir(...); - getCodeCacheDir(...); - fileList(...); - getDir(...); - openOrCreateDatabase(...); - moveDatabaseFrom(...); - deleteDatabase(...); - getDatabasePath(...); - databaseList(...); - getSystemService(...); - getSystemServiceName(...); - createPackageContext(...); - createConfigurationContext(...); - getFrameworkName(...); - getFrameworkVersion(...); - getFrameworkVersionCode(...); - getFrameworkPrivilege(...); - hook(...); - deoptimize(...); - invokeOrigin(...); - invokeSpecial(...); - newInstanceOrigin(...); - newInstanceSpecial(...); - log(...); - parseDex(...); + public ; +} +-keepclassmembers class org.lsposed.lspd.impl.LSPosedHookCallback { + public ; +} +-keep,allowoptimization,allowobfuscation @io.github.libxposed.api.annotations.* class * { + @io.github.libxposed.api.annotations.BeforeInvocation ; + @io.github.libxposed.api.annotations.AfterInvocation ; +} +-keepclassmembers class org.lsposed.lspd.impl.LSPosedBridge$NativeHooker { + (java.lang.reflect.Executable); + callback(...); +} +-keepclassmembers class org.lsposed.lspd.impl.LSPosedBridge$HookerCallback { + final *** beforeInvocation; + final *** afterInvocation; + HookerCallback(...); } -assumenosideeffects class android.util.Log { public static *** v(...);