Download module:
Translations:
[Xposed module] Various tweaks for Package Installer
Home Page: http://repo.xposed.info/module/com.pyler.xinstaller
License: BSD 2-Clause "Simplified" License
Download module:
Translations:
... on Oneplus One Cm13. Any app cannot access storage and don't ask for premisition (root apps excluded). Its only when Xinstaller is enabled.
It can't work on CM13.
The device can boot.(good)
But after I enabled it,"Error parsing package" always shows when i install >new< apps.(what??)
So does it support ANDROID 6.0.1?
@pylerSM
There are a few general easy-to-fix app flaws.
The rotation reloading the UI is easy, just add
android:configChanges="orientation|screenSize"
to the XML tag of each Activity.
The crash is also a simple one. All you have to do is check if whatever it is complaining about is null
and recreate it if so.
What matters:
10-16 23:01:07.995 E/AndroidRuntime(28513): Caused by: java.lang.NullPointerException
10-16 23:01:07.995 E/AndroidRuntime(28513): at com.pyler.xinstaller.Preferences$Settings.onCreate(Preferences.java:43)
Full LogCat
10-16 23:01:07.995 E/AndroidRuntime(28513): FATAL EXCEPTION: main
10-16 23:01:07.995 E/AndroidRuntime(28513): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pyler.xinstaller/com.pyler.xinstaller.Preferences}: java.lang.NullPointerException
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread.access$700(ActivityThread.java:143)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.os.Handler.dispatchMessage(Handler.java:99)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.os.Looper.loop(Looper.java:137)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread.main(ActivityThread.java:4950)
10-16 23:01:07.995 E/AndroidRuntime(28513): at java.lang.reflect.Method.invokeNative(Native Method)
10-16 23:01:07.995 E/AndroidRuntime(28513): at java.lang.reflect.Method.invoke(Method.java:511)
10-16 23:01:07.995 E/AndroidRuntime(28513): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
10-16 23:01:07.995 E/AndroidRuntime(28513): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
10-16 23:01:07.995 E/AndroidRuntime(28513): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
10-16 23:01:07.995 E/AndroidRuntime(28513): at dalvik.system.NativeStart.main(Native Method)
10-16 23:01:07.995 E/AndroidRuntime(28513): Caused by: java.lang.NullPointerException
10-16 23:01:07.995 E/AndroidRuntime(28513): at com.pyler.xinstaller.Preferences$Settings.onCreate(Preferences.java:43)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:796)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1017)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:1799)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.Activity.onCreate(Activity.java:921)
10-16 23:01:07.995 E/AndroidRuntime(28513): at com.pyler.xinstaller.Preferences.onCreate(Preferences.java:30)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.Activity.performCreate(Activity.java:5177)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
10-16 23:01:07.995 E/AndroidRuntime(28513): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
10-16 23:01:07.995 E/AndroidRuntime(28513): ... 12 more
hi,
in "Installations", disable signature check works fine for installations.
in "Misc", disable verify signatures does not seem to work under android 4.4, at least partially. though apps are started, they cannot use ClassLoader.getResourceAsStream
which makes most apps fail:
java.lang.SecurityException: Incorrect signature
at org.apache.harmony.security.utils.JarUtils.verifySignature(JarUtils.java:232)
at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:306)
at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:276)
at java.util.jar.JarFile.getInputStream(JarFile.java:399)
at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
at java.net.URL.openStream(URL.java:470)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:432)
I've installed the latest Xposed Framework and installed the XInstaller apk from the Xposed modules page (XInstaller 5.0),
The feature that should make apps debuggable does not work for me. I've verified this with the Android Studio Debugger and the Inspeckage tool (Xposed Framework)
11-14 22:29:16.245 520 520 E Environment: Path requests must specify a user by using UserEnvironment
11-14 22:29:16.245 520 520 E Environment: java.lang.Throwable
11-14 22:29:16.245 520 520 E Environment: at android.os.Environment.throwIfUserRequired(Environment.java:743)
11-14 22:29:16.245 520 520 E Environment: at android.os.Environment.getExternalStorageDirectory(Environment.java:336)
11-14 22:29:16.245 520 520 E Environment: at com.pyler.xinstaller.Common.<clinit>(Common.java:96)
11-14 22:29:16.245 520 520 E Environment: at com.pyler.xinstaller.XInstaller.handleLoadPackage(XInstaller.java:1184)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.XposedBridge$3$1.beforeHookedMethod(XposedBridge.java:215)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
11-14 22:29:16.245 520 520 E Environment: at com.android.server.SystemServer.startBootstrapServices(<Xposed>)
11-14 22:29:16.245 520 520 E Environment: at com.android.server.SystemServer.run(SystemServer.java:268)
11-14 22:29:16.245 520 520 E Environment: at com.android.server.SystemServer.main(SystemServer.java:168)
11-14 22:29:16.245 520 520 E Environment: at java.lang.reflect.Method.invoke(Native Method)
11-14 22:29:16.245 520 520 E Environment: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-14 22:29:16.245 520 520 E Environment: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 22:29:16.245 520 520 E Environment: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:114)
11-14 22:29:16.246 520 520 E AndroidRuntime: Error reporting WTF
11-14 22:29:16.246 520 520 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.app.IActivityManager.handleApplicationWtf(android.os.IBinder, java.lang.String, boolean, android.app.ApplicationErrorReport$CrashInfo)' on a null object reference
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.internal.os.RuntimeInit.wtf(RuntimeInit.java:348)
11-14 22:29:16.246 520 520 E AndroidRuntime: at android.util.Log$1.onTerribleFailure(Log.java:104)
11-14 22:29:16.246 520 520 E AndroidRuntime: at android.util.Log.wtf(Log.java:297)
11-14 22:29:16.246 520 520 E AndroidRuntime: at android.util.Log.wtf(Log.java:286)
11-14 22:29:16.246 520 520 E AndroidRuntime: at android.os.Environment.throwIfUserRequired(Environment.java:742)
11-14 22:29:16.246 520 520 E AndroidRuntime: at android.os.Environment.getExternalStorageDirectory(Environment.java:336)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.pyler.xinstaller.Common.<clinit>(Common.java:96)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.pyler.xinstaller.XInstaller.handleLoadPackage(XInstaller.java:1184)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge$3$1.beforeHookedMethod(XposedBridge.java:215)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.server.SystemServer.startBootstrapServices(<Xposed>)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:268)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:168)
11-14 22:29:16.246 520 520 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-14 22:29:16.246 520 520 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 22:29:16.246 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:114)
11-14 22:29:16.247 520 520 E AndroidRuntime: Original WTF:
11-14 22:29:16.247 520 520 E AndroidRuntime: android.util.Log$TerribleFailure: Path requests must specify a user by using UserEnvironment
11-14 22:29:16.247 520 520 E AndroidRuntime: at android.util.Log.wtf(Log.java:291)
11-14 22:29:16.247 520 520 E AndroidRuntime: at android.util.Log.wtf(Log.java:286)
11-14 22:29:16.247 520 520 E AndroidRuntime: at android.os.Environment.throwIfUserRequired(Environment.java:742)
11-14 22:29:16.247 520 520 E AndroidRuntime: at android.os.Environment.getExternalStorageDirectory(Environment.java:336)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.pyler.xinstaller.Common.<clinit>(Common.java:96)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.pyler.xinstaller.XInstaller.handleLoadPackage(XInstaller.java:1184)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge$3$1.beforeHookedMethod(XposedBridge.java:215)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.android.server.SystemServer.startBootstrapServices(<Xposed>)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:268)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:168)
11-14 22:29:16.247 520 520 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-14 22:29:16.247 520 520 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 22:29:16.247 520 520 E AndroidRuntime: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:114)
11-14 22:29:16.247 520 520 E AndroidRuntime: Caused by: java.lang.Throwable
11-14 22:29:16.247 520 520 E AndroidRuntime: at android.os.Environment.throwIfUserRequired(Environment.java:743)
11-14 22:29:16.247 520 520 E AndroidRuntime: ... 15 more
11-14 22:29:16.248 520 520 E Xposed : java.lang.ExceptionInInitializerError
11-14 22:29:16.248 520 520 E Xposed : at com.pyler.xinstaller.XInstaller.handleLoadPackage(XInstaller.java:1184)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.XposedBridge$3$1.beforeHookedMethod(XposedBridge.java:215)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655)
11-14 22:29:16.248 520 520 E Xposed : at com.android.server.SystemServer.startBootstrapServices(<Xposed>)
11-14 22:29:16.248 520 520 E Xposed : at com.android.server.SystemServer.run(SystemServer.java:268)
11-14 22:29:16.248 520 520 E Xposed : at com.android.server.SystemServer.main(SystemServer.java:168)
11-14 22:29:16.248 520 520 E Xposed : at java.lang.reflect.Method.invoke(Native Method)
11-14 22:29:16.248 520 520 E Xposed : at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-14 22:29:16.248 520 520 E Xposed : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 22:29:16.248 520 520 E Xposed : at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:114)
11-14 22:29:16.248 520 520 E Xposed : Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'int android.content.pm.IPackageManager.getPackageUid(java.lang.String, int)' on a null object reference
11-14 22:29:16.248 520 520 E Xposed : at android.os.storage.StorageManager.getVolumeList(StorageManager.java:879)
11-14 22:29:16.248 520 520 E Xposed : at android.os.Environment$UserEnvironment.getExternalDirs(Environment.java:83)
11-14 22:29:16.248 520 520 E Xposed : at android.os.Environment.getExternalStorageDirectory(Environment.java:337)
11-14 22:29:16.248 520 520 E Xposed : at com.pyler.xinstaller.Common.<clinit>(Common.java:96)
11-14 22:29:16.248 520 520 E Xposed : ... 13 more
Sometimes after boot is completed about four minutes, it loses effect. I need to re-launch the program, disable and re-enable module ("Enable Module" is still in the open position) in order to fix this problem.
Sometimes even if the above problem does not occur after I hibernate application with greenify( xposed mode) about twice, this problem also occurs. after I use the above method, the problem will be fixed, and will not happen again after this boot-time.
It means that I need to manually re-enable it after booting to make it run properly. But this is not the best way (if you hide the launch icon?)
Please fix this problem
Cyanogen 11
768m RAM
translated by google
Not related to xinstaller, but I would like to ask if you know whether there is any method to prevent adb install/adb shell pm.
As adb takes effect at C level, I don't know how to hook it. Very thanks.
There is no way you would know what to do with some of the tweaks. How would I know that I needed to click on the package name?
Add a subtitle on the prefs with an explaination of what to do. Fixed.
Package Installer apk for vivo phone.
https://ufile.io/t7jeb
I haven't tested this on vanilla, but there isn't any disable button, and additionally, it crashes with a NoSuchMethodError when you click force stop. This also happens with Native Freezer.
I suggest that you put a long click listener on the Uninstall button, or add a button itself.
Samsung Galaxy S II Skyrocket (AT&T)
SGH-i727
Stock 4.1.2 TouchWiz rooted
I remember being told that XInstaller would cause a bootloop on MM, has this been fixed and is it safe on Nougat?
I install xinstall module, make debuggable , but it cannot work.
Here is the log :
10-16 17:23:52.368 5440-5440/? E/Xposed: de.robv.android.xposed.XposedHelpers$ClassNotFoundError: java.lang.ClassNotFoundException: com.google.android.finsky.utils.SelfUpdateScheduler
at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:71)
at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:260)
at com.pyler.xinstaller.XInstaller.handleLoadPackage(XInstaller.java:1480)
at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:134)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340)
at android.app.ActivityThread.handleBindApplication()
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.ClassNotFoundException: com.google.android.finsky.utils.SelfUpdateScheduler
Hey pyler! I want to handle some actions about GrantPermissionActivity, and I noticed this
afxefx/InstallerOpt@a8fc8cd
So I kang your code like this
public class Hook implements IXposedHookZygoteInit, IXposedHookLoadPackage {
public XC_MethodHook grantPermissionsBackButtonHook;
@Override
public void initZygote(IXposedHookZygoteInit.StartupParam startupParam) throws Throwable {
grantPermissionsBackButtonHook = new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param)
throws Throwable {
XposedHelpers.callMethod(param.thisObject, "setResultAndFinish");
}
};
}
@Override
public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
if
(lpparam.packageName.equals("com.android.packageinstaller") || lpparam.packageName.equals("com.google.android.packageinstaller") ) {
XposedHelpers.findAndHookMethod("com.android.packageinstaller.permission.ui.GrantPermissionsActivity",
lpparam.classLoader, "onResume", grantPermissionsBackButtonHook);
}
}
}
And got NoSuchMethod Error, I also noticed your original code got this too.
My major is not programming and I know little about Java. Could you please give some help?
Hi, i hate bad translations, so i love to set my apps to english when this happens.
I found that in your app, there's a bunch of options, but english isn't one of those.. Maybe you only contemplated english as "system" option? In my case, that one shows spanish trashy translation.
Also, i offer myself to improve that spanish mess.
I hope you can add this fast and easy, as it seems to be ;)
Thanks!
If we change any setting, then prefs file lose "world readable" attribute and XInstaller (and any other Xposed modules) can't load other than word readable preferences.
when I try to install APK by ADB its stuck [adb install APKFILE]
I try from several computers
when i unmark the module and reboot is working again
I Have THL 5000 (Chinese)
AOSP ROM
Android 4.4.2
Xposed 2.6.1
Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.