Steps to reproduce/复现步骤
try to use Pixelify-Google-Photos on (Stock) Android 17.
- Problem: after install, the app doesn't get root or asks for root, as it did on Android 14 + Vector 2.0 (3021)
Instead it says: module not activated. I've tried many things to get it to request root, from disabling denylist, using Magisk Zygisk, etc., which all did not work.
Even after granting root through some random coincidence (you can modify the magisk database, I only learned that afterwards), the following issue persists:
- it seems as tho all calls to
XposedHelpers.setStaticObjectField (see here) fail, most likely because of missing permissions:
[ 2026-07-30T16:21:05.204 10234: 6124: 6124 E/VectorLegacyBridge ] java.lang.IllegalAccessException: Cannot set public static final field java.lang.String android.os.Build.FINGERPRINT of class java.lang.Class<android.os.Build>
at java.lang.reflect.Field.set(Native Method)
at LvJQctZbgMPXUf.fdeZEgO.XposedHelpers.setStaticObjectField(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:6)
at balti.xposed.pixelifygooglephotos.DeviceSpoofer.handleLoadPackage(DeviceSpoofer.kt:94)
at LvJQctZbgMPXUf.fdeZEgO.IXposedHookLoadPackage$Wrapper.handleLoadPackage(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:3)
at LvJQctZbgMPXUf.fdeZEgO.callbacks.XC_LoadPackage.call(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:7)
at LvJQctZbgMPXUf.fdeZEgO.callbacks.XCallback.callAll(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:27)
at w.intercept(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:402)
at j2.a(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:41)
at j2.proceed(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:1)
at y2.callback(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:105)
at Vector_.createOrUpdateClassLoaderLocked(Dobby:11)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:1283)
at android.app.LoadedApk.getResourcesInner(LoadedApk.java:1564)
at android.app.LoadedApk.getResources(LoadedApk.java:1542)
at android.app.ContextImpl.createAppContext(ContextImpl.java:3679)
at android.app.ContextImpl.createAppContext(ContextImpl.java:3669)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:8168)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(ActivityThread.java:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2761)
at android.os.Handler.dispatchMessageImpl(Handler.java:142)
at android.os.Handler.dispatchMessage(Handler.java:125)
at android.os.Looper.loopOnce(Looper.java:296)
at android.os.Looper.loop(Looper.java:397)
at android.app.ActivityThread.main(ActivityThread.java:9523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:939)
[ 2026-07-30T16:21:05.204 10234: 6124: 6124 E/VectorLegacyBridge ] java.lang.IllegalAccessError: Cannot set public static final field java.lang.String android.os.Build.FINGERPRINT of class java.lang.Class<android.os.Build>
at LvJQctZbgMPXUf.fdeZEgO.XposedHelpers.setStaticObjectField(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:22)
at balti.xposed.pixelifygooglephotos.DeviceSpoofer.handleLoadPackage(DeviceSpoofer.kt:94)
at LvJQctZbgMPXUf.fdeZEgO.IXposedHookLoadPackage$Wrapper.handleLoadPackage(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:3)
at LvJQctZbgMPXUf.fdeZEgO.callbacks.XC_LoadPackage.call(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:7)
at LvJQctZbgMPXUf.fdeZEgO.callbacks.XCallback.callAll(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:27)
at w.intercept(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:402)
at j2.a(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:41)
at j2.proceed(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:1)
at y2.callback(r8-map-id-4fa1873efe2390be91854903b7ca4e4a4f0cef67aa792d34dd18ccd67ba7077c:105)
at Vector_.createOrUpdateClassLoaderLocked(Dobby:11)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:1283)
at android.app.LoadedApk.getResourcesInner(LoadedApk.java:1564)
at android.app.LoadedApk.getResources(LoadedApk.java:1542)
at android.app.ContextImpl.createAppContext(ContextImpl.java:3679)
at android.app.ContextImpl.createAppContext(ContextImpl.java:3669)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:8168)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(ActivityThread.java:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2761)
at android.os.Handler.dispatchMessageImpl(Handler.java:142)
at android.os.Handler.dispatchMessage(Handler.java:125)
at android.os.Looper.loopOnce(Looper.java:296)
at android.os.Looper.loop(Looper.java:397)
at android.app.ActivityThread.main(ActivityThread.java:9523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:939)
Expected behaviour/预期行为
Method should run and modify that field.
If there's a "new way" to do this static field modification with the new api, please let me know. I could implement that in a custom build.
Actual behaviour/实际行为
hooking/patching fails
Xposed Module List/Xposed 模块列表
[Pixelify Google Photos](https://github.com/BaltiApps/Pixelify-Google-Photos/tree/main)
Reddidn't
InstaEclipse
Pixel Xpert
(Rediddnt and InstaEclipse are working fine; I've tested with only Pixelify Gphotos enabled, didn't change anything)
Root implementation/Root 方案
Magisk 30.7
System Module List/系统模块列表
Zygisk Next (latest)
zygisk-detach
Vector
(with and without PixelXpert)
LSPosed version/LSPosed 版本
3044, but tested latests and between
Android version/Android 版本
17
Version requirement/版本要求
Logs/日志
LSPosed_2026-07-30T16_37_03.088749.zip (there's are also crashes from PixelXpert in there, which complains about missing root in a similar fashion, but the module seems to work anyway... In the PixelXpert case the Hooker even crashes 🤷)
Steps to reproduce/复现步骤
try to use Pixelify-Google-Photos on (Stock) Android 17.
Instead it says: module not activated. I've tried many things to get it to request root, from disabling denylist, using Magisk Zygisk, etc., which all did not work.
Even after granting root through some random coincidence (you can modify the magisk database, I only learned that afterwards), the following issue persists:
XposedHelpers.setStaticObjectField(see here) fail, most likely because of missing permissions:Expected behaviour/预期行为
Method should run and modify that field.
If there's a "new way" to do this
static fieldmodification with the new api, please let me know. I could implement that in a custom build.Actual behaviour/实际行为
hooking/patching fails
Xposed Module List/Xposed 模块列表
Root implementation/Root 方案
Magisk 30.7
System Module List/系统模块列表
LSPosed version/LSPosed 版本
3044, but tested latests and between
Android version/Android 版本
17
Version requirement/版本要求
Logs/日志
LSPosed_2026-07-30T16_37_03.088749.zip (there's are also crashes from PixelXpert in there, which complains about missing root in a similar fashion, but the module seems to work anyway... In the PixelXpert case the Hooker even crashes 🤷)