xp怎样安装android-studio,Xposed 框架的安装

借鉴:

安装流程:

安装 雷电模拟器3.93

下载安装xposed框架。

xposed 框架在Dalvik 虚拟机和ART虚拟机上的安装不一样(至于ART虚拟机和Dalvik虚拟机的区别,可以参阅 文章)

如果Android 版本不小于 5.0,就是ART版本的虚拟机,需要安装的 Xposed框架 提取码:at5u;

如果Android版本小于5.0,基本上是Dalvik的虚拟机,需要安装的 Xposed 框架 提取码:dsc0

至于Android 神器 xposed 框架使用指南 提到的需要下载两个文件进行安装,我们可以先安装上述的文件,运行后会提示缺少另一个文件,然后点击安装即可。

af8df78a8f47

ART上的安装

af8df78a8f47

授予root权限

接下来提示安装成功后,重启,可以看到安装成功

af8df78a8f47

安装成功

基于Android Studio 编写一个Xpose模块

新建一个空项目,名为XposeDemo,可以包含或者不包含Activity,因为这里的demo中不会用到activity. 流程如下:

新建模块项目

编写模块代码

添加模块入口

添加模块的额外信息

1. 新建模块项目:导入Xpose的jar包

这里使用的是 api-82.jar (提取码:zxsh), 将文件添加到libs目录下

af8df78a8f47

libs目录

然后去修改build.gradle(app)

af8df78a8f47

gradle修改

我的AS版本是3.6.1, 和上文的博客在这里的修改略有区别。

2. 编写模块代码

这里创建XP_Hook类

package com.example.xposedemo;

import de.robv.android.xposed.IXposedHookLoadPackage;

import de.robv.android.xposed.XposedBridge;

import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class XP_Hook implements IXposedHookLoadPackage {

@Override

public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {

if(loadPackageParam.packageName.equals("com.qianyu.zhuceji")){

XposedBridge.log("xp模块的构建!!!"); // 在日志中打印出一条信息

}

}

}

这里使用 com.qianyu.zhuceji ,是因为要测试的apk软件的包名就是这段字符。 测试的软件 zhuceji.apk (提取码:v1bh)

3. 添加模块入口:创建文件夹assets和文件xposed_init

创建后的目录树如下:

af8df78a8f47

文件目录树

xposed_init的内容如下:

com.example.xposedemo.XP_Hook

就是我们编写的类的路径名。这里的作用相当于说明编写模块的入口是哪里。

4. 添加模块的额外信息:在AndroidManifest.xml 中添加模块信息

af8df78a8f47

AndroidManifest.xml 标识

android:name="xposedmodule"

android:value="true"/>

android:name="xposeddescription"

android:value="Xposed Proxy For HOOK"/>

android:name="xposedminversion"

android:value="54"/>

对这里添加的信息做一个说明:

xposedmodule: Android程序作为Xposed中的一个模块,所以值为true

xposeddescription: 对本模块功能的描述,简单叙述就可以

xposedminversion: 本模块开发时用到的Xposed的jar包最低版本号,这里是54。

5. 在模拟器中进行运行

在模拟器上运行我们编写的项目,模拟器会提示需要重启,重启后,打开Xpose,查看日志信息如下:

af8df78a8f47

重启后的日志

之后点击zhuceji程序后,再查看Xpose的日志信息,这里需要刷新一下(比如,先点击下框架,再点击日志),就输出了我们写的那句话:

af8df78a8f47

运行程序后

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 .NET Core 5 中集成 Create React app

翻译自 Camilo Reyes 2021年2月22日的文章 《Integrate Create React app with .NET Core 5》 [1]本文演示了如何将 Create React app 与 .NET Core 集成,以生成一个移除了几个依赖项的脚手架。Create React app 是社区中创建一个全新 React 项目的首选方式。该工具…

程序员找不到对象是因为还没遇到一个有远见的丈母娘

当别人在放肆秀恩爱的时候,程序员单身狗们在角落里瑟瑟发抖。别人去网站相亲找到对象,程序员去相亲找到BUG。其实,你找不到对象是因为你还没遇到一个有远见的丈母娘。都说程序员很难找到对象,就知道整天对着键盘一直敲敲敲&#x…

WPF 如何将IconFont图标转成Geometry

之前每次使用IconFont图标,都要去下载一个png图片,每次颜色什么的改了,都要重新下载,太苦逼了。现在好了,终于找到如何方便快速地使用IconFont图标了。是应该的演示如何从IconFont网站上找到Geometry先看看效果吧&…

给所有想从事软件研发的年轻工程师的忠告与建议

图片来源:Fargo Season 3一、我为什么写这篇文章:这几天,在某个IT论坛的软件培训与认证栏目中,看到了很多处于迷惑之中的人们,也看到了许多大家普遍感到困惑的问题,写此文章的目的,是想将我这些…

谁今天收到鸿蒙系统推送,鸿蒙系统正式推送,只有部分高端机才能收到

原标题:鸿蒙系统正式推送,只有部分高端机才能收到华为已经对鸿蒙2.0系统开始进行推送更新,从华为推出鸿蒙系统概念已经时隔几年了,如今华为把ppt系统映射进现实是真正为自己正名了,而且据华为陈述鸿蒙2.0已经能达到安卓…

2020邮箱账号密码大全_通知 | 复旦大学2020年春季学期研究生选课FAQ

1选课须知1. 研究生选课系统什么时间开放? 答:2020年春季学期研究生选课系统开放时间为:2020年2月19日(周三)10:00至2020年3月9日(周一)10:00。2020年3月9日(周一)10:00后,研究生可以在选课系统中查询课表、已选课程、学分获得情况…

如何从零开始构建深度学习项目?这里有一份详细的教程

导读:在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目。本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题。本文由六大部分组成,涵盖深度学习 ( DL ) 项目的整个过程。我们将使用一个…

性能分布式NewLife.XCode对无限数据的支持

上周发布了《改进版CodeTimer及XCode性能测试》,展示了NewLife.XCode在性能上的表现。实际上NewLife.XCode是一个很平凡的ORM,只是在分页和缓存方面多下点功夫,注意每一个细节,才能保证在数据量大、业务繁忙的环境中得以保持良好的…

C#实用小知识:string和判断null

stringstring是常用的类型,它具有不可变性:就是一旦赋值,就不可变,如果再赋值 ,就重新开辟内存空间;保留性:如果一个字符串存在,另一个与其相同,他们会指向同一个地址&am…

.net html5页面缓存,详解HTML5中的manifest缓存使用

起源html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得…

机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。在机器学习领域,Python已经成为了主流。一方面因为这门语言简单易上手&#x…

ASP.NET Core Filter如何支持依赖注入

概述通过使用 ASP.NET Core 中的筛选器,可在请求处理管道中的特定阶段之前或之后运行代码。内置筛选器处理任务,例如:授权(防止用户访问未获授权的资源)。响应缓存(对请求管道进行短路出路,以便…

做流向图_各类型供热暖系统图大全,一饱眼福!

↑ 点击上方“暖通风向标”关注我们推广.暖通风向标本文来源:制冷网好书推荐做热泵这几本书你不得不看!区域供热系统热电联产系统地热水供暖系统即热式生活热水系统即热式特点:可保证用户随时随地均有热水供应,系统紧凑,无需储罐&…

怎样和程序猿谈一场不散场的爱情

这篇文章就教你如何优(xin)雅(ji)的驯服程序猿男友。先分享2个网友的养猿故事。对于程序员,大家想必会有这么一个印象:生活简单乏味,除了编程、吃饭、睡觉,就是上网、打游戏或者一副…

ITU-R BT.656 协议

ITU-R BT.601和ITU-R BT.656国际电信联盟(International Telecommunication Union)无线通信部门(ITU-R)制定的标准。严格来说,ITU-R BT.656应该是隶属ITU-R BT.601的一个子协议。ITU-R BT.601是演播室数字电视编码参数…

一年增加1.2w星,Dapr能否引领云原生中间件的未来?

作者 | 敖小剑Dapr 将引领云原生时代应用和中间件的未来。Dapr 是由微软发起的云原生开源新项目,在今年 2 月份刚刚发布了 v1.0 正式版本。虽然推出至今不过一年半时间,但 Dapr 发展势头十分迅猛,目前已经在 GitHub 上收获了 1.2w 星。阿里是…

kylin如何支持flink_日均万亿条数据如何处理?爱奇艺实时计算平台这样做

1.爱奇艺 Flink 服务现状爱奇艺从 2012 年开始开展大数据业务,一开始只有二十几个节点,主要是 MapReduce、Hive 等离线计算任务。到 2014 年左右上线了 Storm、Spark 实时计算服务,并随后发布了基于 Spark 的实时计算平台 Europa。2017 年开始…

茫茫内存,我该如何用 windbg 找到你 ?

一:背景 1. 讲故事前天wx上有个朋友丢给我一个dump,让我帮忙鉴定一下某些敏感信息在内存中是否也是加密的,现在数据安全很重要,不仅数据库中的信息要加密,灌到内存后数据同样也需密文存储,随用随解密&#…

一日一技:在Ocelot网关中实现IdentityServer4密码模式(password)

概述IdentityServer4 是为ASP.NET Core 2.系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架。将identityserver部署在你的应用中,具备如下的特点可以为你的应用(如网站、本地应用、移动端、服务)做集中式的登录逻辑和工作流控制…

uibot在子程序执行js失败_使用 Node.js 将珍藏的 bash 脚本封装成命令行工具

阐述如何将一个常用的 bash 脚本融入 npm 生态之中,此处以最近遇到的一个 CR 提交脚本为例。背景作为程序猿,大家或多或少地都用过 GitHub 上的 merge request 功能。当然,除了这类 Code Review 方式,不少公司都有自己的 Code Rev…