把各大厂商的内置应用,移植到任何一台 Android 手机上

Charming × DeepSeek Harness
0可用应用
2厂商
0已修复兼容问题
∞未来可扩展

⚡ 安装前须知

技术说明

HOW IT WORKS

1 修改 targetSdk

厂商应用的 targetSdk 通常是 36/37(对应 Android 16/17),在低版本系统上会因为框架 API 差异直接崩溃(如 ClientTransactionListenerController NPE)。降到 35 后即可运行。

2 恢复 META-INF 文件

用 apktool 重新打包会丢失 META-INF/services/*、*.version、*.kotlin_module 等文件,导致 Kotlin 协程初始化失败。必须从原版 APK 恢复这些文件。

# 典型报错
java.lang.IllegalStateException: Module with the Main dispatcher is missing
    at iwj.<clinit>(Unknown Source:100)

3 修补 AXML uses-library

厂商应用会声明 <uses-library android:name="micloud-sdk"> 这类私有共享库,非原厂设备上不存在导致安装失败。直接修改二进制 AndroidManifest.xml,给它加上 required="false"。

# AXML StartElement 布局(关键)
off+0   type(2) hsize(2) size(4)
off+8   lineNumber(4) comment(4)
off+16  ns(4) name(4)
off+24  attributeStart(2) attributeSize(2)
off+28  attributeCount(2)  ← 修改这里
off+30  idIndex(2) classIndex(2) styleIndex(2)

4 注入 shim 兼容类

厂商应用会调用自家框架类(如 miui.os.Build、miui.util.FeatureParser),非原厂系统没有这些类导致 NoClassDefFoundError。编译同名空实现注入 APK 即可。

# 已实现的 shim(小米)
miui.os.Build                  36 个字段(IS_GLOBAL_BUILD / IS_PRIVATE_BUILD…)
miui.util.FeatureParser        15 个方法(getBoolean / hasFeature…)
miui.util.HapticFeedbackUtil   震动反馈
miui.accounts.ExtraAccountManager
miui.cloud.os.SystemProperties 反射调用
miui.cloud.sync.MiCloudStatusInfo
miui.cloud.common.XLogger
miui.cloud.util.SyncAutoSettingUtil
miui.cloud.MiCloudCompat
miui.cloud.sync.FamilyInfo

5 已知无法解决的问题

有些限制是系统级的,App 层无法绕过:

参与贡献

📦 想要更多厂商?

目前支持 HyperOS(小米)和 One UI(三星)。后续将陆续加入 ColorOS(OPPO)、OriginOS(vivo)、HarmonyOS、Flyme(魅族)等厂商应用。

技术方案完全通用:改 targetSdk → 恢复 META-INF → 补 AXML → 注入 shim,四个步骤适用于所有厂商。