Xposed 新时代要来了,project mainline

我们知道,原版Xposed框架(rovo89写的那个)

在ART运行时上的实现方式是,用AOSP的代码,将ART部分进行魔改加入xposed方法的执行逻辑。
这种方法技术上行得通的原因在于Android系统对libartso的要求就是实现三个方法(主要是JNICreateJavaVM)。
然而,原版Xposed框架在80系统难产在90停更,技术上很大的原因在于ART越来越复杂,不仅要修改libart.so还要改dex2oatlibjit-compiler.so等一堆东西...导致维护起来基本上就失控了。
但ARTapex的出现似乎让这玩意出现了转机。
Google 在 Android 10 上引入了 project mainline 很多模块都独立成了可单独安装的apex,其中就包含runtime,Android 11更进一步,ART被完全独立了。
因此,原版Xposed的那种,用AOSP魔改一个ART来替换官方ART似乎又成为了一个非常好的选择,
因为,安装一个apex就和安装一个apk一样简单!