0%

  • 在 Java 中 .java 源文件会先编译成 .classs 字节码文件,然后借由 JVM 虚拟机将 .class 字节码加载进内存,最终程序得到运行。其中.class 加载过程就是由 类加载器(ClassLoader) 来完成的。
  • 而 Android 与 Java 相似, .java 源文件会先编译成 .dex 文件(.class 的集合),然后 Android 虚拟机( ART虚拟机 和 Dalvik虚拟机)将 .dex 文件加载进内存,最终程序得到运行。dex 加载过程也是由 类加载器(ClassLoader)完成的。

什么是类加载?

凭借一个类的全限定名得到对应的可以描述该类的二进制字节流,并将这些字节流转化为方法区的某种数据结构,生成一个 java.lang.Class 对象作为方法区这个类各种数据访问入口。这个过程就是类加载。

类加载过程就是由 ClassLoader 来完成的。

阅读全文 »

先大致介绍一下各个 MIUI 版本:

  • 国内版 MIUI 国内版就是官方 MIUI 的国内版,优点:能吃上新功能,有小爱,缺点:有广告,臃肿,后台常驻很多系统组件,同时有不少系统组件没办法禁用,Google 套件不太好安装,安装好了之后也会经常因为不稳定而 Crash。官方站点:米柚
  • 国际版 MIUI 也称为 俄罗斯版,国际版就是官方 MIUI 的国际版,优点:自带 Google 套件,无广告,缺点:还是比较臃肿,自带的 Google 套件过多。官方站点:MIUI Global
  • 欧洲版 MIUI 也称为 波兰版,属于 MIUI 的第三方定制 Rom,也就是通常所说的 魔改MIUI,但不是小作坊制作,稳定性比较可靠。优点:自带 Google 套件,无广告,不臃肿,缺点:无小爱。 官方站点:XIAOMI.EU
    阅读全文 »

我们知道像 ClipboardManager, ActivityManager 实际上底层都是通过 Binderaidl 接口的形式实现的,对应的服务端类名都是 xxxService 的形式,例如 ClipboardService, ActivityManagerService。幸运的是,在 Xposed 框架支持下,我们也可以注册自定义的系统服务。

阅读全文 »

昨天,一位用户告诉我,最新 Xposed 仓库上最新版本(2.6.6)的 阻止运行 增加了新的功能:收到短信验证码弹出提示,并自动复制验证码到剪切板。这跟我本人的模块 验证码提取器Xposed 的核心功能之一是重合的。因为考虑到 阻止运行 这款 Xposed 模块本身是专攻对流氓 App 的治理的,新增的这个功能怎么都和其核心业务不搭边,在好奇心的驱使下,我反编译了其 2.6.6 版本的 apk…

阅读全文 »