Android真机或模拟器激活Xposed框架的方法

2024-06-07 23:48

本文主要是介绍Android真机或模拟器激活Xposed框架的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu环境下编译的Android源码,启动模拟器后安装使用xposed框架的方法

详细步骤

(1).采用kingroot或root精灵,首先root模拟器(模拟器重启后kingroot就显示模拟器root失效,可能是模拟器禁止任何程序修改system.img镜像文件,Xposed的app_process就无法替换/system/bin/app_process)

 

(2).安装de.robv.android.xposed.installer_v32_de4f0d.apk

 

(3).将app_process写进system.img中,把system.img挂载到新建的system文件夹,在Ubuntu上执行命令:

sudo mount -t ext4 -o loop system.img system/

logcat:ERROR: Could not access Xposed jar 

/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar

 

(4).模拟器还没有挂载userdata-qemu.img文件到/data目录,userdata-qemu.img是模拟器配置目录下的镜像,不是sdk里面的userdata.img,在Ubuntu上执行命令:

sudo mount -t ext4 -o loop userdata-qemu.img data/

 

(5).解压de.robv.android.xposed.installer_v32_de4f0d.apk,将

de.robv.android.xposed.installer_v32_de4f0d\assets\XposedBridge.jar

复制到/system/framework/目录下,给所有用户可读权限

 

(6).用IDA打开Xposed安装包里的app_process文件,将代码里面的路径字符串“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar”

修改为“/system/framework/XposedBridge.jar”(也可以通过修改源代码编译生成),然后将Xposed安装包里面的app_process替换掉system/bin/app_process,将修改过的app_process放入system.img中

 

1).logcat:Could not move 

/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion to /system/framework/XposedBridge.jar

 

2).原来app_process启动的时候会检查

“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion”

是否存在,如果存在就将该文件替换为到/system/framework/XposedBridge.jar,是一种XposedBridge.jar更新机制,因为system.img文件无法被修改,所以这个步骤就会报错,XposedBridge.jar.newersion文件是XposedInstaller启动后自动生成的,所以要么改XposedInstaller,要么改app_process,选择的是将app_process里面的

“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion”字符串修改为一个不存在的文件名(用16进制编辑器或者直接源代码编译生成)

 

3).logcat:java.io.FileNotFoundException:/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar: open failed:ENOENT (No such file or directory)4).Java异常,所以猜测是XposedBridge会获取XposedBridge.jar文件里面的某些信息

 

(7).XposedBridge.jar默认安装在

/data/data/de.robv.android.xposed.installer/bin目录下,但是之前已经将该文件复制到/system/framework下。所以要么修改XposedBrdige.jar源码然后编译,要么复制一份XposedBrdige.jar到

/data/data/de.robv.android.xposed.installer/bin 目录下

 

Ubuntu环境下编译的Android源码,启动模拟器后安装使用xposed框架的方法

简洁步骤

(1).把XposedBrdige.jar拷贝到

/data/data/de.robv.android.xposed.installer/bin目录下

 

(2).用IDA打开Xposed安装包里的app_process文件,将代码里面的路径字符串“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar”

修改为“/system/framework/XposedBridge.jar”,然后把app_process替换掉

/system/bin/app_process

 

解决Android 6.0以上版本的真机支持激活Xposed框架的方法

(1).首先root Android手机

   1)Kingroot_global.apk

   2)Permmgr.apk

   3)Terminal Emulator.apk

 

(2).激活Xposed框架的安装器

   1)auto-flasher.apk

   2)de.robv.android.xposed.installer_v31_9b5661.apk

   3)de.robv.android.xposed.installer_v32_de4f0d.apk

   4)de.robv.android.xposed.installer_v33_36570c.apk

   5)下载地址:

     https://cn.aptoide.com/thank-you?app_id=25326835&store_name=buyk

 

针对Android 5.0以上版本的真机激活Xposed需要刷对应的sdk版本 

图片

xposed的sdk版本

 

图片

支持x86或arm平台的xposed sdk刷机包

 

图片

支持x86或arm平台的xposed sdk刷机包

 

关注微信公众号,获取更多最新文章信息

图片

这篇关于Android真机或模拟器激活Xposed框架的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040654

相关文章

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域