Skip to content

Commit 79a712b

Browse files
authored
Merge pull request #1 from rapperskull/master
Added support for Android 8.0/8.1 Oreo
2 parents 48832b2 + 6a4018c commit 79a712b

File tree

2 files changed

+37
-17
lines changed

2 files changed

+37
-17
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId "pw.rabit.xposed.xdebuggable"
99
minSdkVersion 23
1010
targetSdkVersion 26
11-
versionCode 3
12-
versionName "1.2"
11+
versionCode 4
12+
versionName "1.3"
1313
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1414
}
1515
buildTypes {

app/src/main/java/pw/rabit/xposed/xdebuggable/DebugHook.java

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,42 @@
1818
public class DebugHook implements IXposedHookLoadPackage {
1919
@Override
2020
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
21+
XC_MethodHook myHook = new XC_MethodHook() {
22+
@Override
23+
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
24+
Activity app = (Activity) param.thisObject;
25+
Intent intent = app.getIntent();
26+
intent.putExtra("com.android.settings.extra.DEBUGGABLE", false);
27+
app.setIntent(intent);
28+
}
29+
};
2130
if (loadPackageParam.packageName.equals("com.android.settings")) {
22-
XposedHelpers.findAndHookMethod(
23-
"com.android.settings.AppPicker",
24-
loadPackageParam.classLoader,
25-
"onCreate",
26-
"android.os.Bundle",
27-
new XC_MethodHook() {
28-
@Override
29-
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
30-
Activity app = (Activity) param.thisObject;
31-
Intent intent = app.getIntent();
32-
intent.putExtra("com.android.settings.extra.DEBUGGABLE", false);
33-
app.setIntent(intent);
34-
}
35-
}
36-
);
31+
String className = "";
32+
try{
33+
XposedHelpers.findClass("com.android.settings.AppPicker", loadPackageParam.classLoader);
34+
className = "com.android.settings.AppPicker";
35+
XposedBridge.log("XDebuggable: Class com.android.settings.AppPicker FOUND!");
36+
} catch(XposedHelpers.ClassNotFoundError e) {
37+
XposedBridge.log("XDebuggable: Class com.android.settings.AppPicker not found.");
38+
}
39+
try{
40+
XposedHelpers.findClass("com.android.settings.development.AppPicker", loadPackageParam.classLoader);
41+
className = "com.android.settings.development.AppPicker";
42+
XposedBridge.log("XDebuggable: Class com.android.settings.development.AppPicker FOUND!");
43+
} catch(XposedHelpers.ClassNotFoundError e) {
44+
XposedBridge.log("XDebuggable: Class com.android.settings.development.AppPicker not found.");
45+
}
46+
47+
if(!className.equals("")){
48+
XposedHelpers.findAndHookMethod(
49+
className,
50+
loadPackageParam.classLoader,
51+
"onCreate",
52+
"android.os.Bundle",
53+
myHook
54+
);
55+
}
56+
3757
} else if (loadPackageParam.packageName.equals("android")) {
3858
// Inspired from https://github.com/jecelyin/buildprop/blob/master/app/src/main/java/com/jecelyin/buildprop/BuildPropEditor.java
3959
XposedBridge.hookAllMethods(android.os.Process.class, "start", new XC_MethodHook() {

0 commit comments

Comments
 (0)