Skip to content

Commit 2a45d80

Browse files
committed
Enable ALLOW_NON_PRELOADS_SYSTEM_SHAREDUIDS on U+
1 parent 0d46ae6 commit 2a45d80

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

app/src/main/java/toolkit/coderstory/CorePatchForU.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam)
2121
XposedBridge.log("E/" + MainHook.TAG + " deoptimizing failed" + Log.getStackTraceString(e));
2222
}
2323
}
24+
25+
// https://cs.android.com/android/platform/superproject/+/android-14.0.0_r60:frameworks/base/services/core/java/com/android/server/pm/ReconcilePackageUtils.java;l=61;bpv=1;bpt=0
26+
if (prefs.getBoolean("digestCreak", true) && prefs.getBoolean("sharedUser", false)) {
27+
setStaticBooleanField(utilClass, "ALLOW_NON_PRELOADS_SYSTEM_SHAREDUIDS", true);
28+
}
29+
2430
// ee11a9c (Rename AndroidPackageApi to AndroidPackage)
2531
findAndHookMethod("com.android.server.pm.PackageManagerServiceUtils", loadPackageParam.classLoader,
2632
"checkDowngrade",

app/src/main/java/toolkit/coderstory/XposedHelper.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ public void hookAllMethods(Class<?> hookClass, String methodName, XC_MethodHook
5252
}
5353
}
5454

55+
public static void setStaticBooleanField(Class<?> hookClass, String fieldName, boolean value) {
56+
try {
57+
XposedHelpers.setStaticBooleanField(hookClass, fieldName, value);
58+
} catch (Throwable e) {
59+
if (BuildConfig.DEBUG)
60+
XposedBridge.log("E/" + MainHook.TAG + " " + Log.getStackTraceString(e));
61+
}
62+
}
63+
5564
public static Class<?> findClass(String className, ClassLoader classLoader) {
5665
try {
5766
return Class.forName(className, false, classLoader);

0 commit comments

Comments
 (0)