- Xposed 是什么?
Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。目前支持7.0以下的手机系统。
Xposed框架下插件的执行是不需要root权限的,但是,但是,但是普通的手机刷入Xposed框架需要root。为什么需要root权限呢?
我们来看下原理:
Android 系统在启动时,有一个名字叫做“Zygote”的进程,它是android 运行时环境的核心,所有的其他app进程都需要fork这个 Zygote,然后呢这个Zygote是如何启动呢?答案是在手机启动时,执行了/init.rc脚本,最后还会执行/system/bin/app_process(加载需要的类以及关联初始方法)。这里就是Xposed框架执行的地方,当你安装了Xposed框架,一个 extended app_process被拷贝到来了 /system/bin,然后这个'extended startup process' 就会加载 XposedBridge.jar到运行时环境,即使是在Zygote的main方法被执行之前,我们也可以获取到其上下文,做一些爱做的事(捂脸逃。然后呢,对于任何一个app ,我们都可以hook或者替换掉其中的类或方法或对象,还有资源文件,是不是很厉害,哈哈。
知道这里以后,我们便可以开发自己的插件,具体教程点这里Xposed官方教程 -
ForceTouch是什么?
苹果的3D Touch知道不?没错,就是那个。我能说android在2.0时代就有相应的支持吗。哈哈,确实有的,来来来,看这里:
- 两者如何结合?
这里我来说下应用的思路吧:通过xposed插件hook所有应用的所以view的dispatchTouchEvent事件,获取其中的MontionEvent ,进而获取到其中的压力值,进而根据压力的变化,在Xposed插件中获取到该应用的上下文,do anything you want! - 炫酷应用推荐
全能分词app:https://www.zhihu.com/question/53607540
这里是视频演示:http://v.youku.com/v_show/id_XMTg2Mzg1MTk5Mg==.html
当然最后的最后是工程的网址:
- BigBang 全能分词开源
- ForceTouch up,up,up