topjohnwu/Magisk

Failed to add asset path error occuring when magic-mounting apps

Nanolx opened this issue · 4 comments

microG (http://www.github.com/microg/) has an DroidGuard helper that allows using SafetyNet when using microG.

But when the microG DroidGuard helper is magic-mounted from a magisk module, I get the following error and crash everytime something triggers SafetyNet:

04-01 10:29:19.386 12110 12110 D GmsSafetyNetClientSvc: onBind: Intent { act=com.google.android.gms.safetynet.service.START pkg=com.google.android.gms }
04-01 10:29:19.442 12110 12214 D SafeParcel: Unknown field num 9 in com.google.android.gms.common.internal.GetServiceRequest, skipping.
04-01 10:29:19.442 12110 12214 D GmsSafetyNetClientSvc: bound by: GetServiceRequest{serviceId=SAFETY_NET_CLIENT, gmsVersion=9080000, packageName='com.topjohnwu.magisk', extras=Bundle[{}]}
04-01 10:29:19.449  1820  1820 D Magisk  : DEV: SN: Google API Connected
04-01 10:29:19.449  1820  1820 D Magisk  : DEV: SN: Check with nonce: pyMQwGVnNU6Xj+XgSP37ZgX9jyM1aJxl
04-01 10:29:19.515 10357 11807 I ActivityManager: Start proc 6603:com.google.android.gms.unstable/u0a31 for service org.microg.gms.droidguard/.RemoteDroidGuardService
04-01 10:29:19.724  6603  6603 W System  : ClassLoader referenced unknown path: /system/priv-app/DroidGuard/DroidGuard.apk
04-01 10:29:19.725  6603  6603 W System  : ClassLoader referenced unknown path: /system/priv-app/DroidGuard/lib/arm
04-01 10:29:19.730  6603  6603 W asset   : Asset path /system/priv-app/DroidGuard/DroidGuard.apk is neither a directory nor file (type=1).
04-01 10:29:19.731  6603  6603 E ResourcesManager: failed to add asset path /system/priv-app/DroidGuard/DroidGuard.apk
04-01 10:29:19.732  6603  6603 D AndroidRuntime: Shutting down VM
04-01 10:29:19.733  6603  6603 E AndroidRuntime: FATAL EXCEPTION: main
04-01 10:29:19.733  6603  6603 E AndroidRuntime: Process: com.google.android.gms.unstable, PID: 6603
04-01 10:29:19.733  6603  6603 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Configuration android.content.res.Resources.getConfiguration()' on a null object reference
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.updateLocaleListFromAppContext(ActivityThread.java:5127)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5352)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.-wrap2(ActivityThread.java)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1556)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:102)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:154)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6176)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
04-01 10:29:19.745 10357 16568 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.am.AppErrors.crashApplicationInner:375 com.android.server.am.AppErrors.crashApplication:309 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:13686 com.android.server.am.ActivityManagerService.handleApplicationCrash:13668 
04-01 10:29:19.750 10357 16568 E ActivityManager: Sending non-protected broadcast projekt.substratum.APP_CRASHED from system 10357:system/1000 pkg android
04-01 10:29:19.750 10357 16568 E ActivityManager: java.lang.Throwable
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:18106)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18695)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18786)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.app.ContextImpl.sendBroadcast(ContextImpl.java:881)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:375)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.AppErrors.crashApplication(AppErrors.java:309)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:13686)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrash(ActivityManagerService.java:13668)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1660)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2980)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.os.Binder.execTransact(Binder.java:565)
04-01 10:29:19.783 04-01 10:29:19.386 12110 12110 D GmsSafetyNetClientSvc: onBind: Intent { act=com.google.android.gms.safetynet.service.START pkg=com.google.android.gms }
04-01 10:29:19.442 12110 12214 D SafeParcel: Unknown field num 9 in com.google.android.gms.common.internal.GetServiceRequest, skipping.
04-01 10:29:19.442 12110 12214 D GmsSafetyNetClientSvc: bound by: GetServiceRequest{serviceId=SAFETY_NET_CLIENT, gmsVersion=9080000, packageName='com.topjohnwu.magisk', extras=Bundle[{}]}
04-01 10:29:19.449  1820  1820 D Magisk  : DEV: SN: Google API Connected
04-01 10:29:19.449  1820  1820 D Magisk  : DEV: SN: Check with nonce: pyMQwGVnNU6Xj+XgSP37ZgX9jyM1aJxl
04-01 10:29:19.515 10357 11807 I ActivityManager: Start proc 6603:com.google.android.gms.unstable/u0a31 for service org.microg.gms.droidguard/.RemoteDroidGuardService
04-01 10:29:19.724  6603  6603 W System  : ClassLoader referenced unknown path: /system/priv-app/DroidGuard/DroidGuard.apk
04-01 10:29:19.725  6603  6603 W System  : ClassLoader referenced unknown path: /system/priv-app/DroidGuard/lib/arm
04-01 10:29:19.730  6603  6603 W asset   : Asset path /system/priv-app/DroidGuard/DroidGuard.apk is neither a directory nor file (type=1).
04-01 10:29:19.731  6603  6603 E ResourcesManager: failed to add asset path /system/priv-app/DroidGuard/DroidGuard.apk
04-01 10:29:19.732  6603  6603 D AndroidRuntime: Shutting down VM
04-01 10:29:19.733  6603  6603 E AndroidRuntime: FATAL EXCEPTION: main
04-01 10:29:19.733  6603  6603 E AndroidRuntime: Process: com.google.android.gms.unstable, PID: 6603
04-01 10:29:19.733  6603  6603 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Configuration android.content.res.Resources.getConfiguration()' on a null object reference
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.updateLocaleListFromAppContext(ActivityThread.java:5127)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5352)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.-wrap2(ActivityThread.java)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1556)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:102)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:154)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6176)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
04-01 10:29:19.733  6603  6603 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
04-01 10:29:19.745 10357 16568 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.am.AppErrors.crashApplicationInner:375 com.android.server.am.AppErrors.crashApplication:309 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:13686 com.android.server.am.ActivityManagerService.handleApplicationCrash:13668 
04-01 10:29:19.750 10357 16568 E ActivityManager: Sending non-protected broadcast projekt.substratum.APP_CRASHED from system 10357:system/1000 pkg android
04-01 10:29:19.750 10357 16568 E ActivityManager: java.lang.Throwable
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:18106)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18695)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18786)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.app.ContextImpl.sendBroadcast(ContextImpl.java:881)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:375)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.AppErrors.crashApplication(AppErrors.java:309)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:13686)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrash(ActivityManagerService.java:13668)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1660)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2980)
04-01 10:29:19.750 10357 16568 E ActivityManager: 	at android.os.Binder.execTransact(Binder.java:565)
04-01 10:29:19.783 13325 13325 E AppCrashReceiver: org.microg.gms.droidguard stopped unexpectedly, not repeating...
04-01 10:29:19.784 10357 12587 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
04-01 10:29:19.793 10357 10475 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
04-01 10:29:19.843 10357 14058 I OpenGLRenderer: Initialized EGL, version 1.4
04-01 10:29:19.843 10357 14058 D OpenGLRenderer: Swap behavior 1
04-01 10:29:19.983  1820  6517 E libEGL  : error creating cache file /data/user_de/0/com.topjohnwu.magisk/code_cache/com.android.opengl.shaders_cache: Permission denied (13)13325 13325 E AppCrashReceiver: org.microg.gms.droidguard stopped unexpectedly, not repeating...
04-01 10:29:19.784 10357 12587 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
04-01 10:29:19.793 10357 10475 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
04-01 10:29:19.843 10357 14058 I OpenGLRenderer: Initialized EGL, version 1.4
04-01 10:29:19.843 10357 14058 D OpenGLRenderer: Swap behavior 1
04-01 10:29:19.983  1820  6517 E libEGL  : error creating cache file /data/user_de/0/com.topjohnwu.magisk/code_cache/com.android.opengl.shaders_cache: Permission denied (13)

As soon as I install DroidGuard helper as a user-app it works fine and I can pass SafetyNet just perfect. Any clues on how to fix that issue?

The Magisk Module I use is my own NanoMod, found here: https://github.com/Nanolx/NanoMod - if you wanna test, you need to patch framework files in order for microG to work, see the 'framework-patcher.sh' script in NanoMod repository.

If you need more information, just tell me.

Another report, the same issue, but with Play Store. https://github.com/Nanolx/NanoMod/issues/3

@ShapeShifter499

I uploaded the boot image of my device here: http://www.nanolx.org/x/boot.img

If you need more information let me know.

@topjohnwu I confirm I have this issue as well.

@topjohnwu any updates on this?