android framework手机系统改机相关知识简单方案

Posted Android高级知识分享官

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android framework手机系统改机相关知识简单方案相关的知识,希望对你有一定的参考价值。

hi粉丝朋友们大家好!
近来有些粉丝朋友问我改机相关怎么玩,其实这个我一直觉得有点拿不出台面,害怕大家干坏事。。。哈哈,也许我想多了,我是个程序员技术上研究而已,我自己不干坏事就行。

android手机改机其实是一个比较偏门的领域,但是市场需求好像还比较大,比如很多那种群控工作室。

1、主流改机方案

主要有2种:
1.静态改机即这种就和我们手机一样,刷入出厂厂商就有机型等信息,刷入就不可以改变,这种改变的就是 系统机型相关ro类型的prop,需要改变只能重新编译代码修改
都以小米5的lineage版本(这个搭建可以百度)为例子
这种修改方式:
到device路径mk文件找到定义PRODUCT相关宏进行修改
device/xiaomi/gemini/lineage_gemini.mk

# Device identifier. This must come after all inclusions.
PRODUCT_NAME := lineage_gemini
PRODUCT_DEVICE := gemini
PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := MI 5  #这里PRODUCT_MODEL其实最后会经过编译系统转变成ro.product.model
PRODUCT_MANUFACTURER := Xiaomi

PRODUCT_GMS_CLIENTID_BASE := android-xiaomi

PRODUCT_BUILD_PROP_OVERRIDES += \\
    PRODUCT_NAME="gemini" \\
    PRIVATE_BUILD_DESC="gemini-user 8.0.0 OPR1.170623.032 V9.6.1.0.OAAMIFD release-keys"

# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
BUILD_FINGERPRINT := "Xiaomi/gemini/gemini:8.0.0/OPR1.170623.032/V9.6.1.0.OAAMIFD:user/release-keys"

TARGET_VENDOR := Xiaomi

这里举个例子进行讲解:
PRODUCT_MODEL := MI 5 #这里PRODUCT_MODEL其实最后会经过编译系统转变成ro.product.model
所以这里我们就把MI 5可以自己修改成xxxx
然后在进行重新编译

2.动态改机,这种就是系统可以随时改变自己手机当前机型(当然只是针对应用层面),真实的prop并没有改变,但是应用获取prop都是需要通过系统接口,我们对系统接口进行hook,改变他的的返回值为我们设定机型既可以达到

这种思路就是只能“”骗“”第三方这种应用程序,实际上系统的ro相关prop没有变化,只是app获取我们手机版本机型等都是需要相关的接口,比如获取手机型号app只能用java类的如下接口:
Build.MODEL --这个就是型号其实它本质getString(“ro.product.model”);即获取ro.product.mode的属性:
我们思路就是改变这个getString方法,识别到如果是获取我们要修改的属性,我们就固定返回我们设置好的值如我们把 型号为 MI 5变成 MI 10:

 @UnsupportedAppUsage
    private static String getString(String property) 
        if ("ro.product.model".equals(property)) 
            return "MI 10";//固定返回MI 10
        
        return SystemProperties.get(property, UNKNOWN);
    

修改效果如下:

这样就实现了一个简单的Hook,当然实际我们还需要想办法让返回"MI 10"变成我们可以让一个专门改机的Apk进行设置,这个部分就方法比较多了,比如这里可以通过跨进程通讯调用获取,或者我们统一写入系统的某个Setting值然后Build.java进行读取解析,这个就不用在展示代码了属于应用层面东西。

以上是关于android framework手机系统改机相关知识简单方案的主要内容,如果未能解决你的问题,请参考以下文章

android framework手机系统改机相关知识简单方案

android framework手机系统改机相关知识简单方案

android改机教程

android framework高级开发-多屏异显触摸Presentation相关实战demo

android framework高级开发-多屏异显触摸Presentation相关实战demo

android framework高级开发-多屏异显触摸Presentation相关实战demo