Skip to content

Commit 4bac651

Browse files
authored
Implement version check for static field modification
1 parent ead987f commit 4bac651

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package toolkit.coderstory;
22

3+
import android.os.Build;
34
import android.util.Log;
45

56
import java.lang.reflect.InvocationTargetException;
@@ -23,7 +24,10 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam)
2324
}
2425

2526
// 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+
// Android 17 blocks using reflection to modify static final field
28+
// Since DP2, instead of throwing java exception, they just let art itself crash
29+
// Disable it temporarily till we change hook points
30+
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.BAKLAVA && prefs.getBoolean("digestCreak", true) && prefs.getBoolean("sharedUser", false)) {
2731
setStaticBooleanField(utilClass, "ALLOW_NON_PRELOADS_SYSTEM_SHAREDUIDS", true);
2832
}
2933

0 commit comments

Comments
 (0)