From 4d9f060aa9412f889b04a1b1dc70673f58610f79 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 21 Nov 2021 13:25:52 +0800 Subject: [PATCH] Prevent crash when xresources init failed (#1420) --- .../java/org/lsposed/lspd/hooker/HandleBindAppHooker.java | 4 +++- .../java/org/lsposed/lspd/hooker/LoadedApkCstrHooker.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/hooker/HandleBindAppHooker.java b/core/src/main/java/org/lsposed/lspd/hooker/HandleBindAppHooker.java index 50f5cae5..00f17763 100644 --- a/core/src/main/java/org/lsposed/lspd/hooker/HandleBindAppHooker.java +++ b/core/src/main/java/org/lsposed/lspd/hooker/HandleBindAppHooker.java @@ -65,7 +65,9 @@ public class HandleBindAppHooker extends XC_MethodHook { XposedInit.loadedPackagesInProcess.add(reportedPackageName); LoadedApk loadedApk = activityThread.getPackageInfoNoCheck(appInfo, compatInfo); - XResources.setPackageNameForResDir(appInfo.packageName, loadedApk.getResDir()); + if (!XposedInit.disableResources) { + XResources.setPackageNameForResDir(appInfo.packageName, loadedApk.getResDir()); + } String processName = (String) XposedHelpers.getObjectField(bindData, "processName"); diff --git a/core/src/main/java/org/lsposed/lspd/hooker/LoadedApkCstrHooker.java b/core/src/main/java/org/lsposed/lspd/hooker/LoadedApkCstrHooker.java index 5536db58..b3fe4db8 100644 --- a/core/src/main/java/org/lsposed/lspd/hooker/LoadedApkCstrHooker.java +++ b/core/src/main/java/org/lsposed/lspd/hooker/LoadedApkCstrHooker.java @@ -44,7 +44,9 @@ public class LoadedApkCstrHooker extends XC_MethodHook { Object mAppDir = XposedHelpers.getObjectField(loadedApk, "mAppDir"); Hookers.logD("LoadedApk# ends: " + mAppDir); - XResources.setPackageNameForResDir(packageName, loadedApk.getResDir()); + if (!XposedInit.disableResources) { + XResources.setPackageNameForResDir(packageName, loadedApk.getResDir()); + } if (packageName.equals("android")) { Hookers.logD("LoadedApk# is android, skip: " + mAppDir);