安卓开发者交流群欢迎您加入
418263790
系列教程:
Xposed模块开发教程(一) 了解并使用Xposed
http://blog.csdn.net/u014418171/article/details/52910768
Xposed模块开发教程(二) 第一个Xposed模块应用-在手机状态栏增加显示cpu温度
http://blog.csdn.net/u014418171/article/details/52911715
在Xposed模块开发教程(一)中 我们已经安装好了Xposed模块环境 接下来终于要开发模块应用了
下面的例子将介绍如何hook修改系统状态栏
(我一直对手机的状态栏看不顺眼 终于可以加个功能了,本文将以 在状态栏增加支持显示cpu温度为例)
我们像以往那样新建一个普通Android Studio工程
然后编辑app/build.gradle
导入相关xposed api库
导入Xposed api库
dependencies {
//provided 的作用是 在打包apk时不包含依赖包
//de.robv.android.xposed:api:82就是XposedBridge.jar
//API
provided 'de.robv.android.xposed:api:82'
//带源码Api
provided 'de.robv.android.xposed:api:82:sources'
}
注意:
千万不要这样导入,运行会没有任何反应,模块无效,还记得第一篇文章中说到 的【…让基于Xposed开发的模块app们 都能使用XposedBridge.jar里的api (像android.jar那样, 后面会说到如何使用)….】 因为系统已经有XposedBridge.jar环境了 我们这边就没必要打包进apk去
//这是错误的做法
dependencies {
//API
compile 'de.robv.android.xposed:api:82'
//带源码Api
compile 'de.robv.android.xposed:api:82:sources'
}
PS:eclipse是直接导入XposedBridge.jar文件到libs里,没有其他特殊配置,这里不说eclipse了 都几乎一样
配置meta-data
AndroidManifest.xml里添加如下三个meta-data 主要是供xposed模块检测用
我的AndroidManifest.xml文件里面有个Activity ,你可以不用Activity 也行, xposed模块可以没有activity的
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.toshiba.statusbar">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!--是否是xposed模块-->
<meta-data
android:name="xposedmodule"
android:value="true" />
<!--对这个模块的一些描述-->
<meta-data
android:name="xposeddescription"
android:value="对这个模块的一些描述" />
<!--这个模块支持的最低xposed版本-->
<meta-data
android:name="xposedminversion"
android:value="53" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>