大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
由于某个项目的特殊需求,可能要用Xposed框架干一些事情。然而在国内基本没有找到关于Xposed模块制作的文章(基本上全是下载呵呵),只在XDA上找到一篇教程。这篇文章差不多是XDA上的教程翻译过来的(原文链接:http://forum.xda-developers.com/showthread.php?t=2709324 可能需科学上网) 首先,Xposed框架是干啥的捏?玩安卓机比较多的童鞋可能都知道这个东西,一般用来美化或者自定义系统,因为它可以改变系统应用的执行方式。Xposed框架的工作原理见(http://www.360doc.com/content/14/0625/09/9462341_389540723.shtml)。本菜鸡姿势水平不太够,没能完全看懂orz……
Xposed模块也是一个Android应用,和普通的apk差不多,但是Xposed框架可以把这个应用识别为一个Xposed模块。
1.在AndroidManifest.xml里添加一些东西
在application节点里添加
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposedminversion"
android:value="30" />
<meta-data
android:name="xposeddescription"
android:value="Add a smiley face" />
然后Xposed框架就会把这个应用识别为一个Xposed模块,在Xposed Installer里面可以看见这个模块并且可以激活。
2.然而真正起作用的代码还米有写。为了标识要起作用的代码所在位置,需要在工程的/assets文件夹里添加一个名为xposed_init的文件,里面每行的内容是起作用的代码的包名以及类名。比如:com.example.xposedtrial.Main
3.在工程里添加Xposed bridge要用到的库。把这个库放到工程的根目录下,而不是libs目录下。在properties-java build path里面把这个库加入build path中。XposedBridgeApi.jar可以在XDA论坛下载。
4.在之前定义好的包里面添加对应的类,实现要进行的操作。这个类要实现IXposedHookLoadPackage接口。这里的例子实现在状态栏的时钟后面添加一个笑脸符号。
重载handleLoadPackage方法,添加如下的代码:
@Override
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
// TODO Auto-generated method stub
if (!lpparam.packageName.equals("com.android.systemui"))//check if the package being loaded is systemUI
return;
//All code here is only called if it is indeed SystemUI
findAndHookMethod("com.android.systemui.statusbar.policy.Clock", lpparam.classLoader, "updateClock", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
TextView tv = (TextView)param.thisObject;
tv.append(":)");
}
});
}
先检测现在的程序包名是不是com.android.systemui 。如果是的话继续执行下面的代码。afterHookMethod方法会在com.android.systemui.statusbar.policy.clock的updateClock方法执行完之后执行。这里执行的代码是给时钟后面添加一个微笑符号。
安装并激活此模块,重启系统。运行效果如图:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191615.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...