当前位置: 首页 > news >正文

网站开发工作招聘/网站的搜索引擎

网站开发工作招聘,网站的搜索引擎,女女男做 网站,无广告免费赚钱无门槛的游戏前言Xposed的用处不必言说,能hook任意java写的代码,修改替换apk内部的资源文件。至于如何开发一个XPosed的插件,官方给出的答案如下:看完这篇文章,基本能写出一个最简单的demo。现在先讲讲这个最简单的demo怎么写1.先新…

前言

Xposed的用处不必言说,能hook任意java写的代码,修改替换apk内部的资源文件。

至于如何开发一个XPosed的插件,官方给出的答案如下:

看完这篇文章,基本能写出一个最简单的demo。

现在先讲讲这个最简单的demo怎么写

1.先新建一个android project(推荐用android studio)

这个project不需要任何activity,相关的组件引用也可以删光,这样编译后的apk就很小了。

2.修改项目的build.gradle

追加2个配置

repositories {

jcenter();

}

dependencies {

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

}

3.修改AndroidManifest.xml 让xposed能识别这个插件

正常情况下,xposed是无法识别我们的应用是不是xposed插件的,我们必须在manifest上打上一个标签来声明自己。

官方给的例子如下

package="de.robv.android.xposed.mods.tutorial"

android:versionCode="1"

android:versionName="1.0" >

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

android:name="xposedmodule"

android:value="true" />

android:name="xposeddescription"

android:value="Easy example which makes the status bar clock red and adds a smiley" />

android:name="xposedminversion"

android:value="53" />

简单的讲,就是application配置段内添加如下3个属性就好了

android:name="xposedmodule"

android:value="true" />

android:name="xposeddescription"

android:value="Easy example which makes the status bar clock red and adds a smiley" />

android:name="xposedminversion"

android:value="53" />

4.实现xposed的接口

空白的class如下

package cn.coderstory.xposeddemo;

public class Demo {

}

如果我们想要这个类有hook各种代码的能力,我们需要让这个类实现一些xposed框架提供的接口。

具体实现什么接口,需要看我们具体的需求。

常见的额接口如下

IXposedHookZygoteInit, IXposedHookLoadPackage, IXposedHookInitPackageResources 等

IXposedHookZygoteInit接口实现了ZygoteInit阶段的hook能力,用于在Zygote进程启动之前执行相关代码,framework里的东西一般再这里改。

IXposedHookLoadPackage接口实现了加载app阶段的hook能力,用于hook app的代码

IXposedHookInitPackageResources接口实现了加载app资源时的hook能力,用于修改app的一些资源,比如布局文件什么的。

5.写具体的代码逻辑

现在我们写一个功能,比如隐藏MIUI下拉菜单里面的搜索框

package cn.coderstory.xposeddemo;

import de.robv.android.xposed.IXposedHookInitPackageResources;

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

/**

* Created by cc on 2017/1/3.

* 隐藏MIUI下拉菜单搜索框

*/

//IXposedHookInitPackageResources接口实现修改资源app的资源文件

public class Demo implements IXposedHookInitPackageResources{

@Override

public void handleInitPackageResources(XC_InitPackageResources.InitPackageResourcesParam resparam) {

//如果当前处理的是systemui

if (resparam.packageName.equals("com.android.systemui")) {

//调用setReplacement方法替换名为config_show_statusbar_search的变量值为false

resparam.res.setReplacement(resparam.packageName, "bool", "config_show_statusbar_search", false);

}

}

}

这样,功能就写好了。

6.创建和编辑xposed_init配置文件

接下来我们需要再项目里新建一个名为assets的目录,然后在目录里新建一个名为xposed_init的文件,文本类型的。

这个文件主要记录了app里所有实现xposed功能的类,在开机的时候,xposed会依次加载这些类。

新建assets目录

新建xposed_init文件,类型选择Text

xposed_init里写当前类的路径 如果存在多个类,那么每行写一个,多个写多行

7.编译安装

编译的时候需要关闭android studio的instant run 功能。

手机上安装后 需要在xposed install上勾选启用模块并重启。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

http://www.jmfq.cn/news/4754395.html

相关文章:

  • 陕西省建设厅特种工报名网站/海外推广运营
  • 求合伙人做网站/谷歌浏览器下载官网
  • 寿光专业做网站/牛奶软文广告营销
  • godaddy 搭建网站/宁波seo自然优化技术
  • 腾讯广告代理商/东莞优化疫情防控措施
  • 做网站的图片从哪里找/门户网站怎么做
  • 关于做门户网站专栏内容通知/手游推广代理平台有哪些
  • 有哪些做平面设计好的网站/搜索引擎营销有哪些
  • 山东网站建设企业/91关键词
  • 高端网站开发培训/适合小学生的新闻事件
  • 广州公司网站制作/企业营销策划公司
  • 做网站的靠什么赚钱/营销自动化
  • 广州网站导航/b站新人视频怎么推广
  • 网站建设公司彩铃/自己有货源怎么找客户
  • java做网站后台怎么样/公司网站怎么建立
  • 软件开发是吃青春饭的吗/整站优化关键词排名
  • b2c网站商城建设方案/怎么给产品做网络推广
  • 西安市做网站的公司/百度知道官网入口
  • 网站编辑 seo/网络营销的主要传播渠道是
  • 观澜做网站/在线营销推广
  • 石家庄模板建站代理/快速推广
  • wordpress官方网站/某一网站seo策划方案
  • 厦门网站建设开发公司/网络推广优化平台
  • 十大平面设计公司/外贸网站seo教程
  • 业务型网站做seo/代做seo关键词排名
  • 东莞视频课程网站建设/广告推广平台哪个好
  • 装饰公司网站建设/沧州网站seo
  • 东莞网站建设 旅游/沈阳全网推广公司哪家好
  • 手把手做网站页面/培训教育机构
  • wordpress问答社区/新手seo要学多久