@@ -15,13 +15,7 @@ public void handleLoadPackage(LoadPackageParam loadedPackage) {
1515 if (!loadedPackage .packageName .equals ("android" ))
1616 return ;
1717
18- Class <?> PackageManagerService ;
19- try {
20- PackageManagerService = XposedHelpers .findClass ("com.android.server.pm.PackageManagerService.ComputerEngine" , loadedPackage .classLoader );
21- } catch (Exception e ) {
22- PackageManagerService = XposedHelpers .findClass ("com.android.server.pm.PackageManagerService" , loadedPackage .classLoader );
23- }
24- XposedBridge .hookAllMethods (PackageManagerService , "generatePackageInfo" , new XC_MethodHook () {
18+ XC_MethodHook hook = new XC_MethodHook () {
2519 @ Override
2620 protected void afterHookedMethod (MethodHookParam param ) {
2721 PackageInfo pi = (PackageInfo ) param .getResult ();
@@ -35,6 +29,16 @@ protected void afterHookedMethod(MethodHookParam param) {
3529 }
3630 }
3731 }
38- });
32+ };
33+
34+ Class <?> PackageManagerServiceComputer = null ;
35+ try {
36+ PackageManagerServiceComputer = XposedHelpers .findClass ("com.android.server.pm.PackageManagerService.ComputerEngine" , loadedPackage .classLoader );
37+ } catch (Exception ignored ) {}
38+ if (PackageManagerServiceComputer != null ) {
39+ XposedBridge .hookAllMethods (PackageManagerServiceComputer , "generatePackageInfo" , hook );
40+ }
41+ final Class <?> PackageManagerService = XposedHelpers .findClass ("com.android.server.pm.PackageManagerService" , loadedPackage .classLoader );
42+ XposedBridge .hookAllMethods (PackageManagerService , "generatePackageInfo" , hook );
3943 }
4044}
0 commit comments