Edxposed安装和xposed框架在Android 8.0以上手机使用最全攻略

d在网上,关于Xposed模块编写的博客文章可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化,也正因此,网上的文章往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹。。。

我当前使用的AndroidStuido版本为

Magisk与EdXposed框架安装

由于现在Android新版本的普及,新上市的手机基本都是8.0以上了。所以以前的Xposed框架已经不适用。EdXposed团队成为了后续版本研发的继任者,从Xpsoed的wikipedia中可以查到交接历史:

2017年7月,abforce在GitHub上发布了支持Nougat的xposed,不过此发布需在编译ROM前集成在源码中而不是以前直接卡刷的形式。
2017年10月,Xposed框架开始支持。[3]
2019年1月,ElderDrivers完成了EdXposed的开发。EdXp是一个Magisk模块,依赖于riru框架,成功将Xposed移植到了Android Pie上,成为最接近原版Xposed的框架。
2019年9月,EdXposed正式支持Android Q。
2020年1月,EdXposed与Xposed原开发团队达成共识,成为Xposed停止更新后的官方接任者。

当然,android8.0之前的系统依然可以下载官方的资源来进行刷机:https://repo.xposed.info/module/de.robv.android.xposed.installer

TWRP Recovery、Magisk、EdXposed

由于我的测试机是Android 10,所以要刷EdXposed。大致思路很简单,也是最容易成功的步骤:先刷三方Rec(这里是TWRP),然后装Magisk,最后通过Magisk装EdXposed。

在开始介绍步骤之前,我想说其实 https://magisk.me/ 是有热门刷机机型ROOT教程的,比起那些乱七八糟的二手资料要好很多,不过里面博客中的各种下载链接都打不开,后来我找到了替代的网站 https://www.androidjungles.com/

下面开始:

1、这里默认电脑已经安装好 adbfastboot 命令工具。

2、各机型对应的Recovery很可能是不同的,先找自己设备对应的下载:https://twrp.me/Devices/ ,比如我这里的机型打开后是这样:

我们点Download Links中的链接,2选1即可,反正不管美洲还是欧洲速度都很慢。进去后选最新版本的img文件,再点进去进行下载。我这里最后下载下来是:twrp-3.3.0-0-beryllium.img ,下载完后我们把它重命名成 recovery.img ,后面有用。

3、下载 Disable-Force-Encryption-Treble.zip ,后面在Rec中要用到,不过这个和机型有关,部分机型可能不需要,具体可查看 https://magisk.me/ 中的教程。

4、到Magisk的官方下载页面下载最新的Zip和Apk:https://www.download-magisk.com ,最终资源文件其实都在Github仓库中。我这里对应要下载的就是:

https://github.com/topjohnwu/Magisk/releases  这里下载你想要下载的Magisk版本,点击对应版本下载即可

https://github.com/topjohnwu/Magisk/releases/download  下载最新的MagiskManager.apk

5、上面下载好的两个zip都拷贝到手机里,然后打开终端,开始搞事情:

# 手机电脑连起来,先重启手机进入fastboot模式,命令和手动均可

adb reboot bootloader

# 然后把刚才下载并重命名好的img刷入

fastboot flash recovery recovery.img

# 执行完此就会自动进入Recovery模式

fastboot boot recovery.img

6、(无需安装这个zip的机型可忽略这一步)进入Rec后,可能第一次会有提示,点选 Keep Read Only ,然后在主界面点 Install ,选择刚才下载的 DisableForceEncryption_Treble.zip ,右滑Swipe安装。安装完后别急着点Reboot System,为了方便,按返回键到主界面中点击 Reboot ,选 Recovery 重启后自动进入Rec模式。

7、再次进入Rec,还是点Install,然后选刚才下载的Magisk-xxx.zip,进行安装(操作图文可见官方:https://www.download-magisk.com)。完事直接点Reboot System重启进入系统即可。

8、不出意外,进入系统后,桌面上就会出现 Magisk Manager 的图标(这里图片中请忽略EdXposed,那是后续手动装的),说明安装成功(所以刚才下载的Apk并没有太大用哈哈,当然可以覆盖安装一下保证版本最新)。打开Manager应该可以看到两项都安装成功了。我这里使用的是21版本,因为最新版手机启动不了,经过多次试验,Magsik.zip  v21.0是可用的

 

9、后面就简单了,参考EdXposed官方文档(https://github.com/ElderDrivers/EdXposed)的Install步骤即可:

小米手机怎么Root

1、首先去官网登录小米账户,下载root工具https://www.miui.com/unlock/index.html

点击下载后,解压压缩包,点击unlock.exe,按照提示操作即可,具体步骤参考官方指导  https://www.xiaomi.cn/post/3892846

如果小米手机因为更新了magsik manage的某个版本变成砖头了,大概率是你的magisk版本导致的,这时候只需要执行如下命令就可以让你手机恢复正常开启,

# 手机电脑连起来,先重启手机进入fastboot模式,命令和手动均可

adb reboot bootloader

# 然后把刚才下载并重命名好的img刷入

fastboot flash recovery recovery.img

# 执行完此就会自动进入Recovery模式

fastboot boot recovery.img  

进入twrp界面后重新走上面6,7步骤,安装原来的magsk.zip版本就可以了,当然也可以直接线刷系统

魅族手机怎么root

打开魅族手机官网  https://www.flyme.com/firmware.html

选择你要root的机型,然后下载对应的刷机包

如果你的魅族手机变成砖头无法开机了,长按电源键和音量+,会进入这个界面,你选择USB传输文件,把上面官网下载的update.zip发送到手机,然后点击开始就可以重装系统了

待系统安装完毕就可以愉快root了

Xposed简介

Xposed 框架的原理就不多说了,它部署在ROOT后的安卓手机上,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。可以让我们在不修改APK源码的情况下,通过自己编写的模块来影响程序运行的框架服务,实现类似于自动抢红包、微信消息自动回复等功能。

其实,从本质上来讲,Xposed 模块也是一个 Android 程序。但与普通程序不同的是,想要让写出的Android程序成为一个Xposed 模块,要额外多完成以下四个硬性任务:

  1. 让手机上的xposed框架知道我们安装的这个程序是个xposed模块
  2. 模块里要包含有xposed的API的jar包,以实现下一步的hook操作。
  3. 这个模块里面要有对目标程序进行hook操作的方法。
  4. 要让手机上的xposed框架知道,我们编写的xposed模块中,哪一个方法是实现hook操作

这就引出我即将要介绍的四大件(与前四步一一对照):

  1. AndroidManifest.xml
  2. compileOnly 'de.robv.android.xposed:api:82'
    compileOnly 'de.robv.android.xposed:api:82:sources'
  3. 实现hook操作的具体代码
  4. assets下的xposed_Init文件

下面开始实操

新建Android项目就省了,新建项目后在AndroidManifest文件中添加如下配置

        <meta-data
            android:name="xposedmodule"
            android:value="true" />   告诉xposed这是基于他的一个模块
        <meta-data
            android:name="xposeddescription"
            android:value="ido" />    你对这个模块的描述
        <meta-data
            android:name="xposedminversion"
            android:value="82" />     xposed的最低版本要求

gradle中添加依赖

    compileOnly 'de.robv.android.xposed:api:82'
    compileOnly 'de.robv.android.xposed:api:82:sources'

编译通过后,在assets文件夹里面新建xposed_init文件,xposed框架会根据这个文件中的配置路径找到你hook操作的类

在MainActivity中调用


public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";
    private TextView textView;
    private TextView textView2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.info);
        textView2 = findViewById(R.id.info2);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, toastMessage(), Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        AppInfo.getInstance().ValidateEnvironment(this);

        boolean boolResult = AppInfo.getInstance().isXposedInstall();
        textView.setText(boolResult ? "V" + AppInfo.getInstance().getXposedVersionName() : "未安装");
        boolResult = AppInfo.getInstance().isXposedActive();
        textView2.setText(boolResult ? "已激活" : "未激活");
    }

    public String toastMessage() {
        return "我未被劫持";
    }

调用结果

判断xposed是否激活

public class AppUtils {
    public static final String PACKAGE_NAME_XPOSED = "de.robv.android.xposed.installer";
    public static String getAppVersionName(Context context, String packageName) {
        PackageManager packageManager = context.getPackageManager();
        List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
        for (PackageInfo packageInfo : packageInfos) {
            if (packageInfo.packageName.equals(packageName)) {
                return packageInfo.versionName;
            }
        }
        return "";
    }

    public static boolean isModuleActive() {
        return false;
    }
}

public class StringUtils {
    public static  boolean isEmpty(final CharSequence s) {
        return s == null || s.length() == 0;
    }
}
public class AppInfo {
    private boolean mIsXposedInstall;
    private String mXposedVersionName;

    private static volatile AppInfo mInstance = null;

    private AppInfo() {

    }

    public static AppInfo getInstance() {
        if (mInstance == null) {
            synchronized (AppInfo.class) {
                if (mInstance == null) {
                    mInstance = new AppInfo();
                }
            }
        }
        return mInstance;
    }

    public void ValidateEnvironment(Context context) {
        mXposedVersionName = AppUtils.getAppVersionName(context, AppUtils.PACKAGE_NAME_XPOSED);
        mIsXposedInstall = !StringUtils.isEmpty(getmXposedVersionName());
    }

    public boolean isXposedActive() {
        return AppUtils.isModuleActive();
    }

    public boolean ismIsXposedInstall() {
        return mIsXposedInstall;
    }

    public void setmIsXposedInstall(boolean xposedInstall) {
        mIsXposedInstall = xposedInstall;
    }

    public String getmXposedVersionName() {
        return mXposedVersionName;
    }

    public void setmXposedVersionName(String xposedVersionName) {
        mXposedVersionName = xposedVersionName;
    }
}

具体调用

    AppInfo.getInstance().ValidateEnvironment(this);

    AppInfo appInfo = AppInfo.getInstance();
    boolean isInstall = appInfo.ismIsXposedInstall();
    boolean isActive = appInfo.isXposedActive();
    String xposedVersionName = appInfo.getmXposedVersionName();

    String msg = (isInstall ? xposedVersionName : "未安装") + " " + (isActive ? "已激活" : "未激活");

    Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();

 

注意某些细节

1、可能你做完上面所有操作后xposed框架还是没激活,有可能是没有启用xposed

打开Edxposed Manager-->模块  找到你自己写的应用,打开图示按钮

2、可能你下载Riru.core的时候会提示你版本不对什么的,你根据提示去GitHub下载对应的zip包保存到手机,然后通过本地安装进行安装即可

具体的下载路径,可以在app上面看到git地址

部分操作参考自:https://ysy950803.blog.csdn.net/article/details/107118656,感谢作者的分享

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
<h3>回答1:</h3><br/>Xposed框架安装教程: 1. 首先需要root手机,确保手机已经root成功。 2. 下载Xposed框架安装包,可以在官网或者其他第三方网站下载。 3. 安装Xposed框架安装包,打开安装包,点击安装按钮,等待安装完成。 4. 安装Xposed框架管理器,打开Xposed框架管理器,点击安装按钮,等待安装完成。 5. 启用Xposed框架,打开Xposed框架管理器,点击框架按钮,勾选框架选项,重启手机。 6. 安装Xposed模块,打开Xposed框架管理器,点击下载按钮,选择需要安装的模块,点击安装按钮,等待安装完成。 7. 启用Xposed模块,打开Xposed框架管理器,点击模块按钮,勾选需要启用的模块,重启手机。 8. 完成安装,现在可以使用Xposed模块了。 <h3>回答2:</h3><br/>Xposed框架安装教程 Xposed框架是一款Android系统的框架软件,可以在不修改系统的情况下实现许多个性化和扩展功能,是目前Android手机上非常流行的一个框架软件。下面是Xposed框架安装教程: 第一步:安装Xposed框架管理器 打开Google Play商店,搜索并下载“Xposed Installer”这个应用。 第二步:检查设备是否支持Xposed框架 打开Xposed Installer应用,点击主界面中的“框架”选项卡,如果在界面上看到了“Xposed框架版本”和“Xposed框架状态”信息,说明你的设备可以安装Xposed框架。如果不行,你需要先解锁Bootloader,并通过Magisk等方式使设备支持Xposed框架。 第三步:下载和安装Xposed框架Xposed框架管理器应用中,点击“下载”选项卡,搜索你的设备型号的框架文件,下载完成后,按照提示进行安装。 第四步:启用Xposed框架Xposed框架管理器中,点击“模块”选项卡,勾选你需要启用的模块,如“GravityBox”、“XPrivacyLua”等。 第五步:重启设备 安装完毕后,需要重启设备使设置生效,然后就可以享受你安装Xposed模块带来的便利和乐趣了。 注意事项: 1、Xposed框架需要root权限,需要提前对手机进行root。 2、安装Xposed模块需要慎重,非官方模块可能存在安全隐患,建议选择官方支持的稳定模块。 希望以上安装教程对你有所帮助! <h3>回答3:</h3><br/>Xposed框架是一种开发人员用于修改和自定义Android系统的工具,可以通过安装使用各种Xposed模块来实现。在本文中,我们将提供一个Xposed框架安装教程,以便您可以在您的设备上获取更多的控制和定制选项。 在开始之前,请确保您有以下所有要求: 1.您的Android设备已RootRoot权限是必须的用于安装Xposed框架。 2.您的设备已安装最新版本的TWRP或ClockworkMod Recovery。这两种Recovery都能用于安装Xposed框架。 一、下载Xposed框架:您可以从XDA-Developers论坛上下载最新版本的Xposed框架。 二、安装Xposed框架:请按照以下步骤操作: 1.将下载的Xposed框架复制到您的设备存储器上。 2.打开Recovery模式。 3.在Recovery模式下,选择“Install”(安装)选项。 4.从设备上选择Xposed框架的ZIP文件,然后依据屏幕上的提示进行安装。 5.安装完成后,选择“Reboot”(重启)选项。 三、配置Xposed框架:当您的设备重启时,您应该已经成功安装Xposed框架。 1.打开Xposed Installer应用程序。 2.在“Framework”(框架)选项卡下,选择“Install/Update”(安装/更新)选项。 3.当您被提示是否授予Root权限时,请选择“Grant”(授予)选项。 4.等待安装过程完成并重启设备。 四、安装Xposed模块:现在您已经成功安装并配置了Xposed框架,您可以开始安装使用各种Xposed模块了。 1.打开Xposed Installer应用程序,选择“Module”(模块)选项卡。 2.选择您要安装的模块,然后点击“Download”(下载)按钮。 3.等待下载完成,然后点击“Install”(安装)按钮。 4.启用已安装的模块,然后重启设备以使模块生效。 以上就是Xposed框架安装教程的全部内容,希望本文能够帮助到您并让您更好地使用Android设备。请注意,修改Android系统可能会对设备造成损害,请谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dhd040805

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值