android xposed 简书,Xposed 入坑篇

0c75c3169abb?from=message&isappinstalled=0

device-2018-04-12-101001.png

接下来开始敲代码了 美滋滋(皮一下很开心) 上一张整个工程的图

0c75c3169abb?from=message&isappinstalled=0

QQ截图20180412102021.png

以下是Test和Tutorial的代码

package com.zed.xposed.demo;

import de.robv.android.xposed.IXposedHookLoadPackage;

import de.robv.android.xposed.XposedBridge;

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

/**

* Created by zed on 2018/4/11.

*/

public class Test implements IXposedHookLoadPackage {

@Override

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

XposedBridge.log("Loaded Test app: " + lpparam.packageName);

}

}

因为我在学习kotlin 所以后面应该会有两个版本代码

package com.zed.xposed.demo

/**

* Created by zed on 2018/4/11.

*/

import de.robv.android.xposed.IXposedHookLoadPackage;

import de.robv.android.xposed.XposedBridge;

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

open class Tutorial : IXposedHookLoadPackage {

override fun handleLoadPackage(lpparam: LoadPackageParam?) {

XposedBridge.log("Loaded app: " + lpparam?.packageName);

}

}

新建xposed_init的文本文档 里面只用声明下你的两个类文件 包名+类名

com.zed.xposed.demo.Tutorial

com.zed.xposed.demo.Test

最后是清单文件

package="com.zed.xposed.demo">

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

android:name="xposedmodule"

android:value="true" />

android:name="xposeddescription"

android:value="Hook log test" />

android:name="xposedminversion"

android:value="82" />

build.gradle配置

dependencies {

compile 'de.robv.android.xposed:api:82'

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

}

一切都在美好的方向了 build一下安装 重启后 打开了之后

0c75c3169abb?from=message&isappinstalled=0

QQ截图20180412102953.png

??? What Fuck (me is 逗比)

Android Studio (Gradle-based)

The Xposed Framework API is published on Bintray/jCenter: https://bintray.com/rovo89/de.robv.android.xposed/api

That makes it easy to reference it by simply adding a Gradle dependency in your app/build.gradle:

repositories {

jcenter();

}

dependencies {

provided 'de.robv.android.xposed:api:82'

}

It is very important that you use provided instead of compile! The latter would include the API classes in your APK, which can cause issues especially on Android 4.x. Using provided just makes the API classes usable from your module, but there will only be references to them in the APK. The actual implementation will be provided when the user installs the Xposed Framework.

In most cases, the repositories block already exists, and there are usually some dependencies already. In that case, you just need to add the provided line to the existing dependencies block.

There is also documentation available for the API (see below). Unfortunately, I didn't find any good way to enable automatic download of the API sources, except using both of these lines:

provided 'de.robv.android.xposed:api:82'

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

The way Gradle caches the files, Android Studio will set up the second jar as source for the first one automatically. Better recommendations are welcome!

Please make sure to disable Instant Run (File -> Settings -> Build, Execution, Deployment -> Instant Run), otherwise your classes aren't included directly in the APK, but loaded via a stub application which Xposed can't handle.

赶紧把手捂住脸 偷偷修改下app/build.gradle下的依赖引用

还有个错误情况就是 你只引用了

compile 'de.robv.android.xposed:api:82'

也会出现一个错误 日志内容如下

04-11 22:36:23.839 I/Xposed ( 3386): -----------------

04-11 22:36:23.839 I/Xposed ( 3386): Starting Xposed version 89, compiled for SDK 21

04-11 22:36:23.839 I/Xposed ( 3386): Device: Custom Phone - 5.0.0 - API 21 - 768x1280 (unknown), Android version 5.0 (SDK 21)

04-11 22:36:23.839 I/Xposed ( 3386): ROM: vbox86p-userdebug 5.0 LRX21M 17 test-keys

04-11 22:36:23.839 I/Xposed ( 3386): Build fingerprint: generic/vbox86p/vbox86p:5.0/LRX21M/17:userdebug/test-keys

04-11 22:36:23.839 I/Xposed ( 3386): Platform: x86, 32-bit binary, system server: yes

04-11 22:36:23.839 I/Xposed ( 3386): SELinux enabled: no, enforcing: no

04-11 22:36:26.060 I/Xposed ( 3386): -----------------

04-11 22:36:26.060 I/Xposed ( 3386): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH

04-11 22:36:26.084 I/Xposed ( 3386): Detected ART runtime

04-11 22:36:26.089 I/Xposed ( 3386): Found Xposed class 'de/robv/android/xposed/XposedBridge', now initializing

04-11 22:36:26.158 I/Xposed ( 3386): Loading modules from /data/app/com.zed.xposed.demo-1/base.apk

04-11 22:36:26.158 E/Xposed ( 3386): Cannot load module:

04-11 22:36:26.158 E/Xposed ( 3386): The Xposed API classes are compiled into the module's APK.

04-11 22:36:26.158 E/Xposed ( 3386): This may cause strange issues and must be fixed by the module developer.

04-11 22:36:26.158 E/Xposed ( 3386): For details, see: http://api.xposed.info/using.html

说了那么多废话了 总结一下就是 如果你没有正常出现以下界面,请多多注意是不是你的依赖jar没有配置好 不要急

0c75c3169abb?from=message&isappinstalled=0

QQ截图20180412104010.png

以上是一个入门级 新手的入坑记录

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Xposed 入门

Xposed的原理 Android基于Linux,第一个启动的进程自然是init进程,该进程会 启动所有Android进程的父进程——Zygote(孵化)进程,该进程的启动配置在 /init.rc脚本中,而Zygote进程对应的执行文件是/system/bin/app_process&#xf…

Xposed

[Xposed framework] (概述) 记录学习文章,这里介绍一下Xposed framework,它可以让你修改ROM,无需修改任何APK或flashing.快速入门,请看Xposed上XDA 之android basic 101: http://www.youtube.com/watch?vuRR0Flqx9M8 …

Xposed安装与使用

xposed是什么? 一个很牛逼的框架,可以在不修改APK的情况下影响程序的运行,比如: 直接把APP的界面改成自己想要的样去掉界面里不喜欢的东西,自动抢红包消息防撤回步数修改等等 Xposed的工作原理 在开始修改之前&…

【Android】Xposed 框架解析

前言 Xposed这位老兄大家可能不认识,微信自动抢红包大家听过吧、微信记录器作弊大家听过吧、地理位置模拟大家听过吧,我很负责任的告诉大家,这些都是Xposed干的,对的,就是它,相信大家充着“谁抢我红包”的…

Android之Xposed框架完全使用指南

文章目录 Xposed环境搭建Xposed简介Xposed原理Xposed的安装 Xposed插件开发Xposed插件编写流程Xposed开发之Hook构造函数相关API无参构造函数的hook有参构造函数的hook实际效果 Xposed开发之修改属性相关API修改静态字段和成员字段实际效果 Xposed开发之hook一般函数相关APIhoo…

深入理解Android(三):Xposed详解

编者按:随着移动设备硬件能力的提升,Android系统开放的特质开始显现,各种开发的奇技淫巧、黑科技不断涌现,InfoQ特联合《深入理解Android》系列图书作者邓凡平,开设深入理解Android专栏,探索Android从框架到…

Xposed入门教程

2019年8月27日16时51分47秒以前一直没机会接触Android Hook方式的逆向今天有空试了下,以前也很少写这种东西,今天第一次,认真写下,记录一下?准备 准备搞太极的,但是Xposed都不会,不好搞,所以就…

RabbitMQ---订阅模型-Topic

订阅模型-Topic • Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符! • Routingkey 一般都是有一个或多个单词组成,多个单词之间以…

PostgreSQL命令行工具psql常用命令

1. 概述 通常情况下操作数据库使用图形化客户端工具,在实际工作中,生产环境是不允许直接连接数据库主机,只能在跳板机上登录到Linux服务器才能连接数据库服务器,此时就需要使用到命令行工具。psql是PostgreSQL中的一个命令行交互…

pyreverse+Graphviz 快速理清整个项目中的代码结构

作用 : 分析代码中的调用关系,帮助快速理清代码。 安装方法:以windows为例 • 从官网下载 https://www.graphviz.org/download/ 安装• 记得将其添加到系统路径• 运行下面命令来检查安装是否完成: dot -V• 安装Pyreverse&…

配置web服务

Web服务器又称为WWW服务器,它是放置一般网站的服务器。一台Web服务器上可以建立多个网站,各网站的拥有者只需要把做好的网页和相关文件放置在Web服务器的网站中,其它用户就可以用浏览器访问网站中的网页了。 LAMP是Linux, Apache, MySQL, PH…

Web Service(Web服务)

什么是webservice? 一句话概括:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用Java编写,客户端程序则可以采用其他编程语言编写,反之亦然&#xff01…

什么是Web 服务?

Web 服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现“软件作为服务”提供了技术保障。而“软件作为服务”实质上是一种提供软件服务的机制,这种机制可以在网络上暴露可编程接口,并通过这些接口来共享站点开放出来的功能…

什么是web服务

2001年秋天互联网公司(dot-com)泡沫的破灭标志着互联网的一个转折点。许多人由此断定互联网是被大家过分炒作了,事实上网络泡沫和相继而来的股市大衰退是所有技术革命的共同特征。股市大衰退通常标志着蒸蒸日上的技术已经开始占领中央舞台,假…

Web服务基础

1 Web服务器 WEB服务器用来接收客户的请求,然后向客户返回一些结果。 用户可以通过web浏览器请求一个资源。Web服务器在接收到请求之后,负责查找资源,然后向用户返回一个结果。 2 Web客户端 Web客户端允许用户请求服务器上的某个资源&#xf…

WEB服务的部署

文章目录 一、WEB服务相关概念1. WEB服务器2. 协议端口号3. WEB服务器发布软件 二、WEB服务器的部署1.配置服务器的静态IP:10.1.1.12.安装IIS-WEB插件3.停用默认站点4. 新建站点senting5. 一台服务器同时发布多个WEB站点6. 对于动态网站的搭建 一、WEB服务相关概念 …

Web 服务的概述

Web 服务的概述 由于能够提供图形、声音等多媒体数据,再加上可以交互的动态 Web 语言的广泛普及,WWW(World Wide Web,万维网)深受Internet用户欢迎。一个最重要的证明就是,当前的绝大部分Internet流量都…

【网络安全】Web服务器

文章目录 1、Web服务器概述1.1、Web服务器1.2、端口1.3、网站与网页 2、Web服务器发布2.1、发布软件2.2、发布形式2.3、网站类型 3、部署Web服务器3.1、配置服务器IP地址3.2、安装IIS服务3.3、新建和发布网站3.3.1、同端口,不同IP3.3.2、同IP,不同端口3.…

Web服务(02)——Web服务器中间件

文章目录 Web服务(02)——Web服务器中间件前言一、JAVA中间件1、Tomcat2.Weblogic3.Jboss4.Webshaere 二、Python中间件1、wsgi2、uwsgi3.uWSGI 三、Php中间件1、php-fpm2、CGI3、FastCGI4、Php-FastCGI 四、其他中间件1、事务处理中间件——Hadoop2、消…

Web服务是什么

1、Web服务 服务:提供的某个功能;网络服务(Net Service):使用不同的网络协议(http、ftp、stmp/pop3)提供的服务;Web服务:指使用 http 或 https 协议接受用户的服务请求并…