Prepare for more backends
This commit is contained in:
parent
1571c9a0ad
commit
573f52360a
|
|
@ -122,17 +122,11 @@ afterEvaluate {
|
||||||
def nameCapped = variant.name.capitalize()
|
def nameCapped = variant.name.capitalize()
|
||||||
def nameLowered = variant.name.toLowerCase()
|
def nameLowered = variant.name.toLowerCase()
|
||||||
|
|
||||||
def makeAndCopyTask = task("makeAndCopy${nameCapped}", type: Copy, dependsOn: "assemble${nameCapped}") {
|
def makeAndCopyTask = task("makeAndCopy${nameCapped}", type: Jar, dependsOn: "assemble${nameCapped}") {
|
||||||
from "build/intermediates/transforms/dexMerger/${nameLowered}/0/classes.dex"
|
from "build/intermediates/transforms/dexMerger/${nameLowered}/0/"
|
||||||
into '../Core/template_override/system/framework'
|
destinationDir file("../Core/template_override/system/framework/")
|
||||||
rename("classes.dex", "edxposed.dex")
|
baseName "edxp"
|
||||||
}
|
}
|
||||||
|
|
||||||
// def makeAndCopyTask = task("makeAndCopy${nameCapped}", type: Jar, dependsOn: "assemble${nameCapped}") {
|
|
||||||
// from "build/intermediates/transforms/dexMerger/${nameLowered}/0/"
|
|
||||||
// destinationDir file("../Core/template_override/system/framework/")
|
|
||||||
// baseName "edxposed"
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
<manifest package="com.elderdrivers.riru.xposed"
|
<manifest package="com.elderdrivers.riru.edxp"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"/>
|
xmlns:android="http://schemas.android.com/apk/res/android"/>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.config;
|
package com.elderdrivers.riru.edxp.config;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -6,8 +6,8 @@ import java.util.Set;
|
||||||
|
|
||||||
import de.robv.android.xposed.SELinuxHelper;
|
import de.robv.android.xposed.SELinuxHelper;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.INSTALLER_DATA_BASE_DIR;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.INSTALLER_DATA_BASE_DIR;
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
||||||
|
|
||||||
public class ConfigManager {
|
public class ConfigManager {
|
||||||
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
package com.elderdrivers.riru.xposed.config;
|
package com.elderdrivers.riru.edxp.config;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import de.robv.android.xposed.SELinuxHelper;
|
import de.robv.android.xposed.SELinuxHelper;
|
||||||
import de.robv.android.xposed.services.BaseService;
|
import de.robv.android.xposed.services.BaseService;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.Main.getInstallerPkgName;
|
import static com.elderdrivers.riru.edxp.yahfa.Main.getInstallerPkgName;
|
||||||
|
|
||||||
public class InstallerChooser {
|
public class InstallerChooser {
|
||||||
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.BuildConfig;
|
import com.elderdrivers.riru.edxp.BuildConfig;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -14,7 +14,7 @@ import dalvik.system.PathClassLoader;
|
||||||
|
|
||||||
public class ClassLoaderUtils {
|
public class ClassLoaderUtils {
|
||||||
|
|
||||||
public static final String DEXPATH = "/system/framework/edxposed.dex:/system/framework/eddalvikdx.dex:/system/framework/eddexmaker.dex";
|
public static final String DEXPATH = "/system/framework/edxp.jar:/system/framework/eddalvikdx.jar:/system/framework/eddexmaker.jar";
|
||||||
|
|
||||||
public static void replaceParentClassLoader(ClassLoader appClassLoader) {
|
public static void replaceParentClassLoader(ClassLoader appClassLoader) {
|
||||||
if (appClassLoader == null) {
|
if (appClassLoader == null) {
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
@ -8,7 +8,6 @@ import java.lang.reflect.Field;
|
||||||
|
|
||||||
import dalvik.system.BaseDexClassLoader;
|
import dalvik.system.BaseDexClassLoader;
|
||||||
import dalvik.system.DexClassLoader;
|
import dalvik.system.DexClassLoader;
|
||||||
import dalvik.system.PathClassLoader;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For 6.0 only.
|
* For 6.0 only.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
@ -12,7 +12,7 @@ import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.ProcessUtils.PER_USER_RANGE;
|
import static com.elderdrivers.riru.edxp.util.ProcessUtils.PER_USER_RANGE;
|
||||||
|
|
||||||
public class FileUtils {
|
public class FileUtils {
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedHelpers;
|
import de.robv.android.xposed.XposedHelpers;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.InlinedMethodCallers.KEY_BOOT_IMAGE;
|
import static com.elderdrivers.riru.edxp.util.InlinedMethodCallers.KEY_BOOT_IMAGE;
|
||||||
import static com.elderdrivers.riru.xposed.util.InlinedMethodCallers.KEY_SYSTEM_SERVER;
|
import static com.elderdrivers.riru.edxp.util.InlinedMethodCallers.KEY_SYSTEM_SERVER;
|
||||||
|
|
||||||
public class PrebuiltMethodsDeopter {
|
public class PrebuiltMethodsDeopter {
|
||||||
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
@ -27,7 +27,7 @@ public class ProcessUtils {
|
||||||
/**
|
/**
|
||||||
* a common solution from https://stackoverflow.com/a/21389402
|
* a common solution from https://stackoverflow.com/a/21389402
|
||||||
* <p>
|
* <p>
|
||||||
* use {@link com.elderdrivers.riru.xposed.Main#appProcessName} to get current process name
|
* use {@link Main#appProcessName} to get current process name
|
||||||
*/
|
*/
|
||||||
public static String getProcessName(int pid) {
|
public static String getProcessName(int pid) {
|
||||||
BufferedReader cmdlineReader = null;
|
BufferedReader cmdlineReader = null;
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.elderdrivers.riru.xposed.util;
|
package com.elderdrivers.riru.edxp.util;
|
||||||
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.BuildConfig;
|
import com.elderdrivers.riru.edxp.BuildConfig;
|
||||||
|
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
package com.elderdrivers.riru.xposed;
|
package com.elderdrivers.riru.edxp.yahfa;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepAll;
|
import com.elderdrivers.riru.common.KeepAll;
|
||||||
import com.elderdrivers.riru.xposed.core.HookMethodResolver;
|
import com.elderdrivers.riru.edxp.BuildConfig;
|
||||||
import com.elderdrivers.riru.xposed.proxy.yahfa.BlackWhiteListProxy;
|
import com.elderdrivers.riru.edxp.yahfa.core.HookMethodResolver;
|
||||||
import com.elderdrivers.riru.xposed.proxy.yahfa.NormalProxy;
|
import com.elderdrivers.riru.edxp.yahfa.proxy.BlackWhiteListProxy;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.yahfa.proxy.NormalProxy;
|
||||||
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.lang.reflect.Member;
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.elderdrivers.riru.xposed.core;
|
package com.elderdrivers.riru.edxp.yahfa.core;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.OnePlusWorkAroundHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.OnePlusWorkAroundHooker;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
@ -14,8 +14,8 @@ import java.util.Set;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedHelpers;
|
import de.robv.android.xposed.XposedHelpers;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.Main.backupAndHookNative;
|
import static com.elderdrivers.riru.edxp.yahfa.Main.backupAndHookNative;
|
||||||
import static com.elderdrivers.riru.xposed.Main.findMethodNative;
|
import static com.elderdrivers.riru.edxp.yahfa.Main.findMethodNative;
|
||||||
|
|
||||||
public class HookMain {
|
public class HookMain {
|
||||||
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
package com.elderdrivers.riru.xposed.core;
|
package com.elderdrivers.riru.edxp.yahfa.core;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.elderdrivers.riru.xposed.dexmaker;
|
package com.elderdrivers.riru.edxp.yahfa.dexmaker;
|
||||||
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.BuildConfig;
|
import com.elderdrivers.riru.edxp.BuildConfig;
|
||||||
|
|
||||||
public class DexLog {
|
public class DexLog {
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.elderdrivers.riru.xposed.dexmaker;
|
package com.elderdrivers.riru.edxp.yahfa.dexmaker;
|
||||||
|
|
||||||
import android.app.AndroidAppHelper;
|
import android.app.AndroidAppHelper;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.config.ConfigManager;
|
import com.elderdrivers.riru.edxp.config.ConfigManager;
|
||||||
|
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.elderdrivers.riru.xposed.dexmaker;
|
package com.elderdrivers.riru.edxp.yahfa.dexmaker;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
|
|
@ -13,10 +13,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.dexmaker.DexMakerUtils.shouldUseInMemoryHook;
|
import static com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils.shouldUseInMemoryHook;
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix;
|
import static com.elderdrivers.riru.edxp.util.FileUtils.getDataPathPrefix;
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.getPackageName;
|
import static com.elderdrivers.riru.edxp.util.FileUtils.getPackageName;
|
||||||
import static com.elderdrivers.riru.xposed.util.ProcessUtils.getCurrentProcessName;
|
import static com.elderdrivers.riru.edxp.util.ProcessUtils.getCurrentProcessName;
|
||||||
|
|
||||||
public final class DynamicBridge {
|
public final class DynamicBridge {
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.elderdrivers.riru.xposed.dexmaker;
|
package com.elderdrivers.riru.edxp.yahfa.dexmaker;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.core.HookMain;
|
import com.elderdrivers.riru.edxp.yahfa.core.HookMain;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
|
|
@ -29,10 +29,10 @@ import external.com.android.dx.Local;
|
||||||
import external.com.android.dx.MethodId;
|
import external.com.android.dx.MethodId;
|
||||||
import external.com.android.dx.TypeId;
|
import external.com.android.dx.TypeId;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.dexmaker.DexMakerUtils.autoBoxIfNecessary;
|
import static com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils.autoBoxIfNecessary;
|
||||||
import static com.elderdrivers.riru.xposed.dexmaker.DexMakerUtils.autoUnboxIfNecessary;
|
import static com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils.autoUnboxIfNecessary;
|
||||||
import static com.elderdrivers.riru.xposed.dexmaker.DexMakerUtils.createResultLocals;
|
import static com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils.createResultLocals;
|
||||||
import static com.elderdrivers.riru.xposed.dexmaker.DexMakerUtils.getObjTypeIdIfPrimitive;
|
import static com.elderdrivers.riru.edxp.yahfa.dexmaker.DexMakerUtils.getObjTypeIdIfPrimitive;
|
||||||
|
|
||||||
public class HookerDexMaker {
|
public class HookerDexMaker {
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.dexmaker;
|
package com.elderdrivers.riru.edxp.yahfa.dexmaker;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Member;
|
import java.lang.reflect.Member;
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package com.elderdrivers.riru.xposed.entry;
|
package com.elderdrivers.riru.edxp.yahfa.entry;
|
||||||
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.core.HookMain;
|
import com.elderdrivers.riru.edxp.yahfa.core.HookMain;
|
||||||
import com.elderdrivers.riru.xposed.dexmaker.DynamicBridge;
|
import com.elderdrivers.riru.edxp.yahfa.dexmaker.DynamicBridge;
|
||||||
import com.elderdrivers.riru.xposed.entry.bootstrap.AppBootstrapHookInfo;
|
import com.elderdrivers.riru.edxp.yahfa.entry.bootstrap.AppBootstrapHookInfo;
|
||||||
import com.elderdrivers.riru.xposed.entry.bootstrap.SysBootstrapHookInfo;
|
import com.elderdrivers.riru.edxp.yahfa.entry.bootstrap.SysBootstrapHookInfo;
|
||||||
import com.elderdrivers.riru.xposed.entry.bootstrap.SysInnerHookInfo;
|
import com.elderdrivers.riru.edxp.yahfa.entry.bootstrap.SysInnerHookInfo;
|
||||||
import com.elderdrivers.riru.xposed.entry.bootstrap.WorkAroundHookInfo;
|
import com.elderdrivers.riru.edxp.yahfa.entry.bootstrap.WorkAroundHookInfo;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.SystemMainHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.SystemMainHooker;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
import de.robv.android.xposed.XposedInit;
|
import de.robv.android.xposed.XposedInit;
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.bootstrap;
|
package com.elderdrivers.riru.edxp.yahfa.entry.bootstrap;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.HandleBindAppHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.HandleBindAppHooker;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.LoadedApkConstructorHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.LoadedApkConstructorHooker;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.OnePlusWorkAroundHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.OnePlusWorkAroundHooker;
|
||||||
|
|
||||||
public class AppBootstrapHookInfo implements KeepMembers {
|
public class AppBootstrapHookInfo implements KeepMembers {
|
||||||
public static String[] hookItemNames = {
|
public static String[] hookItemNames = {
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.bootstrap;
|
package com.elderdrivers.riru.edxp.yahfa.entry.bootstrap;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.HandleBindAppHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.HandleBindAppHooker;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.LoadedApkConstructorHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.LoadedApkConstructorHooker;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.OnePlusWorkAroundHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.OnePlusWorkAroundHooker;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.SystemMainHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.SystemMainHooker;
|
||||||
|
|
||||||
public class SysBootstrapHookInfo implements KeepMembers {
|
public class SysBootstrapHookInfo implements KeepMembers {
|
||||||
public static String[] hookItemNames = {
|
public static String[] hookItemNames = {
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.bootstrap;
|
package com.elderdrivers.riru.edxp.yahfa.entry.bootstrap;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.StartBootstrapServicesHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.StartBootstrapServicesHooker;
|
||||||
|
|
||||||
public class SysInnerHookInfo implements KeepMembers {
|
public class SysInnerHookInfo implements KeepMembers {
|
||||||
public static String[] hookItemNames = {
|
public static String[] hookItemNames = {
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.bootstrap;
|
package com.elderdrivers.riru.edxp.yahfa.entry.bootstrap;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.hooker.OnePlusWorkAroundHooker;
|
import com.elderdrivers.riru.edxp.yahfa.entry.hooker.OnePlusWorkAroundHooker;
|
||||||
|
|
||||||
public class WorkAroundHookInfo implements KeepMembers {
|
public class WorkAroundHookInfo implements KeepMembers {
|
||||||
public static String[] hookItemNames = {
|
public static String[] hookItemNames = {
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import android.app.ActivityThread;
|
import android.app.ActivityThread;
|
||||||
import android.app.LoadedApk;
|
import android.app.LoadedApk;
|
||||||
|
|
@ -7,15 +7,15 @@ import android.content.pm.ApplicationInfo;
|
||||||
import android.content.res.CompatibilityInfo;
|
import android.content.res.CompatibilityInfo;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
||||||
import static com.elderdrivers.riru.xposed.entry.hooker.XposedBlackListHooker.BLACK_LIST_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.yahfa.entry.hooker.XposedBlackListHooker.BLACK_LIST_PACKAGE_NAME;
|
||||||
import static com.elderdrivers.riru.xposed.util.ClassLoaderUtils.replaceParentClassLoader;
|
import static com.elderdrivers.riru.edxp.util.ClassLoaderUtils.replaceParentClassLoader;
|
||||||
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
||||||
import static de.robv.android.xposed.XposedHelpers.setObjectField;
|
import static de.robv.android.xposed.XposedHelpers.setObjectField;
|
||||||
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import android.app.ActivityThread;
|
import android.app.ActivityThread;
|
||||||
import android.app.AndroidAppHelper;
|
import android.app.AndroidAppHelper;
|
||||||
|
|
@ -12,7 +12,7 @@ import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.ClassLoaderUtils.replaceParentClassLoader;
|
import static com.elderdrivers.riru.edxp.util.ClassLoaderUtils.replaceParentClassLoader;
|
||||||
import static de.robv.android.xposed.XposedHelpers.getBooleanField;
|
import static de.robv.android.xposed.XposedHelpers.getBooleanField;
|
||||||
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
import static de.robv.android.xposed.XposedHelpers.getObjectField;
|
||||||
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.yahfa.entry.Router;
|
||||||
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
|
|
@ -14,7 +15,7 @@ import static de.robv.android.xposed.XposedInit.logD;
|
||||||
* system prop "persist.sys.oem.region" set to "CN".(detail of related source code:
|
* system prop "persist.sys.oem.region" set to "CN".(detail of related source code:
|
||||||
* https://gist.github.com/solohsu/ecc07141759958fc096ba0781fac0a5f)
|
* https://gist.github.com/solohsu/ecc07141759958fc096ba0781fac0a5f)
|
||||||
* If we invoke intZygoteCallbacks in
|
* If we invoke intZygoteCallbacks in
|
||||||
* {@link com.elderdrivers.riru.xposed.Main#forkAndSpecializePre}, where in zygote process,
|
* {@link Main#forkAndSpecializePre}, where in zygote process,
|
||||||
* we would get a chance to invoke findclass, leaving fd of /dev/binder open in zygote process,
|
* we would get a chance to invoke findclass, leaving fd of /dev/binder open in zygote process,
|
||||||
* which is not allowed because /dev/binder is not in predefined whitelist here:
|
* which is not allowed because /dev/binder is not in predefined whitelist here:
|
||||||
* http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/jni/fd_utils.cpp#35
|
* http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/jni/fd_utils.cpp#35
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
|
|
@ -9,8 +9,8 @@ import de.robv.android.xposed.XposedBridge;
|
||||||
import de.robv.android.xposed.XposedHelpers;
|
import de.robv.android.xposed.XposedHelpers;
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.ClassLoaderUtils.replaceParentClassLoader;
|
import static com.elderdrivers.riru.edxp.util.ClassLoaderUtils.replaceParentClassLoader;
|
||||||
import static com.elderdrivers.riru.xposed.util.Utils.logD;
|
import static com.elderdrivers.riru.edxp.util.Utils.logD;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
||||||
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
import static de.robv.android.xposed.XposedInit.loadedPackagesInProcess;
|
||||||
import static de.robv.android.xposed.XposedInit.logE;
|
import static de.robv.android.xposed.XposedInit.logE;
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import android.app.ActivityThread;
|
import android.app.ActivityThread;
|
||||||
|
|
||||||
import com.elderdrivers.riru.common.KeepMembers;
|
import com.elderdrivers.riru.common.KeepMembers;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.yahfa.entry.Router;
|
||||||
import com.elderdrivers.riru.xposed.util.PrebuiltMethodsDeopter;
|
import com.elderdrivers.riru.edxp.util.PrebuiltMethodsDeopter;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
|
@ -6,7 +6,7 @@ import android.content.Context;
|
||||||
import android.content.ContextWrapper;
|
import android.content.ContextWrapper;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -18,8 +18,8 @@ import de.robv.android.xposed.XC_MethodHook;
|
||||||
import de.robv.android.xposed.XSharedPreferences;
|
import de.robv.android.xposed.XSharedPreferences;
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.INSTALLER_PACKAGE_NAME;
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.IS_USING_PROTECTED_STORAGE;
|
import static com.elderdrivers.riru.edxp.util.FileUtils.IS_USING_PROTECTED_STORAGE;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
||||||
|
|
||||||
public class XposedBlackListHooker {
|
public class XposedBlackListHooker {
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.elderdrivers.riru.xposed.entry.hooker;
|
package com.elderdrivers.riru.edxp.yahfa.entry.hooker;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
|
@ -10,7 +10,7 @@ import de.robv.android.xposed.XC_MethodHook;
|
||||||
import de.robv.android.xposed.XC_MethodReplacement;
|
import de.robv.android.xposed.XC_MethodReplacement;
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.LEGACY_INSTALLER_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.LEGACY_INSTALLER_PACKAGE_NAME;
|
||||||
import static de.robv.android.xposed.XposedHelpers.callStaticMethod;
|
import static de.robv.android.xposed.XposedHelpers.callStaticMethod;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findClass;
|
import static de.robv.android.xposed.XposedHelpers.findClass;
|
||||||
|
|
@ -38,7 +38,7 @@ public class XposedInstallerHooker {
|
||||||
Utils.logD("reloadXposedProp already done, skip...");
|
Utils.logD("reloadXposedProp already done, skip...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
File file = new File("/system/framework/edconfig.dex");
|
File file = new File("/system/framework/edconfig.jar");
|
||||||
FileInputStream is = null;
|
FileInputStream is = null;
|
||||||
try {
|
try {
|
||||||
is = new FileInputStream(file);
|
is = new FileInputStream(file);
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
package com.elderdrivers.riru.xposed.proxy.yahfa;
|
package com.elderdrivers.riru.edxp.yahfa.proxy;
|
||||||
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.config.ConfigManager;
|
import com.elderdrivers.riru.edxp.config.ConfigManager;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.yahfa.entry.Router;
|
||||||
import com.elderdrivers.riru.xposed.util.PrebuiltMethodsDeopter;
|
import com.elderdrivers.riru.edxp.util.PrebuiltMethodsDeopter;
|
||||||
import com.elderdrivers.riru.xposed.util.ProcessUtils;
|
import com.elderdrivers.riru.edxp.util.ProcessUtils;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
|
|
||||||
import de.robv.android.xposed.XposedBridge;
|
import de.robv.android.xposed.XposedBridge;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.Main.isAppNeedHook;
|
import static com.elderdrivers.riru.edxp.yahfa.Main.isAppNeedHook;
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix;
|
import static com.elderdrivers.riru.edxp.util.FileUtils.getDataPathPrefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1. Non dynamic mode
|
* 1. Non dynamic mode
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.elderdrivers.riru.xposed.proxy.yahfa;
|
package com.elderdrivers.riru.edxp.yahfa.proxy;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.Main;
|
import com.elderdrivers.riru.edxp.yahfa.Main;
|
||||||
import com.elderdrivers.riru.xposed.config.ConfigManager;
|
import com.elderdrivers.riru.edxp.config.ConfigManager;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.util.PrebuiltMethodsDeopter;
|
||||||
import com.elderdrivers.riru.xposed.util.PrebuiltMethodsDeopter;
|
import com.elderdrivers.riru.edxp.yahfa.entry.Router;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.util.FileUtils.getDataPathPrefix;
|
import static com.elderdrivers.riru.edxp.util.FileUtils.getDataPathPrefix;
|
||||||
|
|
||||||
public class NormalProxy {
|
public class NormalProxy {
|
||||||
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
package de.robv.android.xposed;
|
|
||||||
|
|
||||||
public class GeneClass_Template {
|
|
||||||
public static java.lang.reflect.Member method;
|
|
||||||
public static de.robv.android.xposed.XposedBridge.AdditionalHookInfo tAdditionalInfoObj;
|
|
||||||
|
|
||||||
public static boolean backup(java.lang.Object obj, int i) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hook(java.lang.Object obj, int i) throws Throwable {
|
|
||||||
java.lang.Throwable th;
|
|
||||||
if (!de.robv.android.xposed.XposedBridge.disableHooks) {
|
|
||||||
java.lang.Object[] snapshot = tAdditionalInfoObj.callbacks.getSnapshot();
|
|
||||||
int length = snapshot.length;
|
|
||||||
if (length != 0) {
|
|
||||||
de.robv.android.xposed.XC_MethodHook.MethodHookParam methodHookParam = new de.robv.android.xposed.XC_MethodHook.MethodHookParam();
|
|
||||||
methodHookParam.method = method;
|
|
||||||
java.lang.Object[] objArr = new java.lang.Object[1];
|
|
||||||
methodHookParam.args = objArr;
|
|
||||||
methodHookParam.thisObject = obj;
|
|
||||||
objArr[0] = java.lang.Integer.valueOf(i);
|
|
||||||
int i2 = 0;
|
|
||||||
do {
|
|
||||||
try {
|
|
||||||
((de.robv.android.xposed.XC_MethodHook) snapshot[i2]).callBeforeHookedMethod(methodHookParam);
|
|
||||||
if (methodHookParam.returnEarly) {
|
|
||||||
i2++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch (java.lang.Throwable th2) {
|
|
||||||
de.robv.android.xposed.XposedBridge.log(th2);
|
|
||||||
methodHookParam.setResult(null);
|
|
||||||
methodHookParam.returnEarly = false;
|
|
||||||
}
|
|
||||||
i2++;
|
|
||||||
} while (i2 < length);
|
|
||||||
if (!methodHookParam.returnEarly) {
|
|
||||||
try {
|
|
||||||
methodHookParam.setResult(java.lang.Boolean.valueOf(backup(obj, i)));
|
|
||||||
} catch (java.lang.Throwable th3) {
|
|
||||||
methodHookParam.setThrowable(th3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i2--;
|
|
||||||
do {
|
|
||||||
java.lang.Object result = methodHookParam.getResult();
|
|
||||||
Throwable th2 = methodHookParam.getThrowable();
|
|
||||||
try {
|
|
||||||
((de.robv.android.xposed.XC_MethodHook) snapshot[i2]).callAfterHookedMethod(methodHookParam);
|
|
||||||
} catch (java.lang.Throwable th4) {
|
|
||||||
de.robv.android.xposed.XposedBridge.log(th4);
|
|
||||||
if (th2 == null) {
|
|
||||||
methodHookParam.setResult(result);
|
|
||||||
} else {
|
|
||||||
methodHookParam.setThrowable(th2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i2--;
|
|
||||||
} while (i2 >= 0);
|
|
||||||
if (!methodHookParam.hasThrowable()) {
|
|
||||||
return ((java.lang.Boolean) methodHookParam.getResult()).booleanValue();
|
|
||||||
}
|
|
||||||
throw methodHookParam.getThrowable();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return backup(obj, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setup(java.lang.reflect.Member member, de.robv.android.xposed.XposedBridge.AdditionalHookInfo additionalHookInfo) {
|
|
||||||
method = member;
|
|
||||||
tAdditionalInfoObj = additionalHookInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,9 +3,9 @@ package de.robv.android.xposed;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.core.HookMain;
|
import com.elderdrivers.riru.edxp.yahfa.core.HookMain;
|
||||||
import com.elderdrivers.riru.xposed.dexmaker.DynamicBridge;
|
import com.elderdrivers.riru.edxp.yahfa.dexmaker.DynamicBridge;
|
||||||
import com.elderdrivers.riru.xposed.dexmaker.MethodInfo;
|
import com.elderdrivers.riru.edxp.yahfa.dexmaker.MethodInfo;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,9 @@ import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.internal.os.ZygoteInit;
|
import com.android.internal.os.ZygoteInit;
|
||||||
import com.elderdrivers.riru.xposed.BuildConfig;
|
import com.elderdrivers.riru.edxp.config.ConfigManager;
|
||||||
import com.elderdrivers.riru.xposed.config.ConfigManager;
|
import com.elderdrivers.riru.edxp.yahfa.entry.Router;
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.util.Utils;
|
||||||
import com.elderdrivers.riru.xposed.util.Utils;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
@ -25,8 +24,8 @@ import dalvik.system.DexFile;
|
||||||
import dalvik.system.PathClassLoader;
|
import dalvik.system.PathClassLoader;
|
||||||
import de.robv.android.xposed.services.BaseService;
|
import de.robv.android.xposed.services.BaseService;
|
||||||
|
|
||||||
import static com.elderdrivers.riru.xposed.config.InstallerChooser.INSTALLER_DATA_BASE_DIR;
|
import static com.elderdrivers.riru.edxp.config.InstallerChooser.INSTALLER_DATA_BASE_DIR;
|
||||||
import static com.elderdrivers.riru.xposed.entry.hooker.XposedBlackListHooker.BLACK_LIST_PACKAGE_NAME;
|
import static com.elderdrivers.riru.edxp.yahfa.entry.hooker.XposedBlackListHooker.BLACK_LIST_PACKAGE_NAME;
|
||||||
import static de.robv.android.xposed.XposedHelpers.closeSilently;
|
import static de.robv.android.xposed.XposedHelpers.closeSilently;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findClass;
|
import static de.robv.android.xposed.XposedHelpers.findClass;
|
||||||
import static de.robv.android.xposed.XposedHelpers.findFieldIfExists;
|
import static de.robv.android.xposed.XposedHelpers.findFieldIfExists;
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@ package de.robv.android.xposed.callbacks;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.elderdrivers.riru.xposed.entry.Router;
|
import com.elderdrivers.riru.edxp.util.PrebuiltMethodsDeopter;
|
||||||
import com.elderdrivers.riru.xposed.util.PrebuiltMethodsDeopter;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,5 @@
|
||||||
/libs
|
/libs
|
||||||
/obj
|
/obj
|
||||||
/release
|
/release
|
||||||
/template_override/system/framework/edxposed.dex
|
/template_override/system/framework/edxp.jar
|
||||||
*.iml
|
*.iml
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
//#define DEBUG
|
//#define DEBUG
|
||||||
|
|
||||||
#define INJECT_DEX_PATH \
|
#define INJECT_DEX_PATH \
|
||||||
"/system/framework/edxposed.dex:/system/framework/eddalvikdx.dex:/system/framework/eddexmaker.dex"
|
"/system/framework/edxp.jar:/system/framework/eddalvikdx.jar:/system/framework/eddexmaker.jar"
|
||||||
|
|
||||||
#define ENTRY_CLASS_NAME "com.elderdrivers.riru.xposed.Main"
|
#define ENTRY_CLASS_NAME "com.elderdrivers.riru.edxp.yahfa.Main"
|
||||||
|
|
||||||
#endif //CONFIG_H
|
#endif //CONFIG_H
|
||||||
|
|
@ -1 +1 @@
|
||||||
<manifest package="com.elderdrivers.riru.xposed" />
|
<manifest package="com.elderdrivers.riru.edxp" />
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -32,7 +32,7 @@ and zip binaries can be downloaded from [here](http://gnuwin32.sourceforge.net/p
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
1. run `:Bridge:makeAndCopyRelease` in Gradle window to build `edxposed.dex`
|
1. run `:Bridge:makeAndCopyRelease` in Gradle window to build `edxp.jar`
|
||||||
2. run `:Core:zipRelease` to build Magisk Riru module flashable zip file
|
2. run `:Core:zipRelease` to build Magisk Riru module flashable zip file
|
||||||
3. find the flashable under `Core/release/`
|
3. find the flashable under `Core/release/`
|
||||||
4. flash the zip in recovery mode or in Magisk Manager
|
4. flash the zip in recovery mode or in Magisk Manager
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue