开发中经常会遇到,三方检测apk的监测数据和实际的监测数据不符合的情况,今天来看看 主频 和 屏幕尺寸如何修改,如果有需求改ram rom的可参考这篇

Mr.Alright---安卓如何修改3rd App(某兔兔、某大师、CPU-Z)等检测信息

屏幕尺寸的修改

这个东西理论上不能修改的,因为这是实际的尺寸,GMS过认证的时候会实际用尺子去测试,所以不能乱改,params->physical_width = 57; params->physical_height = 124;

真的要改的话就只能修改textview了,虽然可能会影响一定性能,但是客户是上帝啊!

平时我们设置textview的内容一般用的都是setText()的方法,安兔兔原来也是这么用的,可能是安兔兔发现,厂商随意的修改手机信息,所以现在改成了append的方式来设置内容了

alps\frameworks\base\core\java\android\widget\TextView.java private boolean mNeedFakePhysicalSize;private CharSequence[] mRealPhysicalSize;private CharSequence mFakePhysicalSize;private CharSequence getPhysicalSize(CharSequence oriPhysicalSize) {mNeedFakePhysicalSize = mContext.getResources().getBoolean(com.android.internal.R.bool.need_fake_physical_size);mRealPhysicalSize = mContext.getResources().getStringArray(com.android.internal.R.array.real_physical_size);mFakePhysicalSize = mContext.getResources().getString(com.android.internal.R.string.fake_physical_size);if (!mNeedFakePhysicalSize || oriPhysicalSize == null|| (!mContext.getPackageName().contains("com.antutu")&& !mContext.getPackageName().contains("com.cpuid.cpu_z")&& !mContext.getPackageName().contains("com.ludashi"))) {return oriPhysicalSize;}try {for (CharSequence reallPhysicalSize : mRealPhysicalSize) {if (oriPhysicalSize.toString().contains(reallPhysicalSize)) {oriPhysicalSize = oriPhysicalSize.toString().replace(reallPhysicalSize, mFakePhysicalSize);break;}}} catch (Exception e) {Log.i("getPhysicalSize", "Failed to obtain fake physical size");}return oriPhysicalSize;}// 针对安兔兔
public void append(CharSequence text, int start, int end) {if (!(mText instanceof Editable)) {setText(mText, BufferType.EDITABLE);}((Editable) mText).append(text, start, end);//add +++++++++++++++++++++startif(text != null){mText = getPhysicalSize(mText);}//add ++++++++++++++++++++ endif (mAutoLinkMask != 0) {boolean linksWereAdded = Linkify.addLinks(mSpannable, mAutoLinkMask);// Do not change the movement method for text that support text selection as it// would prevent an arbitrary cursor displacement.if (linksWereAdded && mLinksClickable && !textCanBeSelected()) {setMovementMethod(LinkMovementMethod.getInstance());}}}// 其他的
@android.view.RemotableViewMethodpublic final void setText(CharSequence text) {//add ++++++++++++++++++ startif(text != null){text = getPhysicalSize(text);}//add +++++++++++++++++++ endsetText(text, mBufferType);}// 相应资源
<java-symbol type="bool" name="need_fake_physical_size" />
<java-symbol type="array" name="real_physical_size" />
<java-symbol type="string" name="fake_physical_size"/><bool name="need_fake_physical_size">true</bool><string name="fake_physical_size">5.50</string><string-array name="real_physical_size"><item>5.41</item><item>5.37</item><item>5,41</item><item>5,37</item></string-array>

主频的修改

首先确定下你的项目使用的是那个版本的kernel,可以在alps\device\xxx\xxx_project\projectinfo.txt中查看

在项目对应的alps/device/xxx/xxx_project/ProjectConfig.mk中打开宏

FAKE_CPU_MAX_FREQ = yes

之后在alps/kernel-4.14/arch/arm/configs/xxx_debug_defconfig 和 alps/kernel-4.14/arch/arm/configs/xxx_defconfig中添加对应的宏

CONFIG_FAKE_CPU_MAX_FREQ=y

在 alps/kernel-4.9-lc/drivers/cpufreq/Kconfig 中添加

config FAKE_CPU_MAX_FREQbool "FAKE CPU MAX FREQ"

alps/kernel-4.9-lc/drivers/cpufreq/cpufreq.c 中修改

// A: for fake cpu max freq  {
#ifdef CONFIG_FAKE_CPU_MAX_FREQ#define show_one(file_name, object)                 \
static ssize_t show_##file_name                     \
(struct cpufreq_policy *policy, char *buf)          \
{                                                   \if ((policy->object == policy->cpuinfo.max_freq \&& policy->cpuinfo.max_freq == 1248000)     \|| (policy->object == policy->max           \&& policy->max == 1248000)                  \|| (policy->object == policy->cur           \&& policy->cur == 1248000))                 \{                                               \return sprintf(buf, "%u\n", 1300000);       \}                                               \return sprintf(buf, "%u\n", policy->object);    \
}#else /* FAKE_CPU_MAX_FREQ */
// A: }#define show_one(file_name, object)          \
static ssize_t show_##file_name             \
(struct cpufreq_policy *policy, char *buf)      \
{                           \return sprintf(buf, "%u\n", policy->object);  \
}// A: for fake cpu max freq  {
#endif /* FAKE_CPU_MAX_FREQ */
// A: }

OK啦 !

Mr.Alright---安兔兔、cpu-Z等三方检测apk的主频和屏幕尺寸如何修改相关推荐

  1. RK3399 Android7.1修改安兔兔等读到的cpu最大频率为1.992GHz

    RK3399最大频率为1.8GHz,可修改安兔兔等第三方应用读到的cpu最大频率值为1.992GHz,不影响实际运行频率. diff --git a/kernel/drivers/cpufreq/cp ...

  2. 安兔兔测试cpu是android,安兔兔测试与真实CPU及成绩存在偏差_酷派 8180_手机Android频道-中关村在线...

    关于酷派8180的处理器,酷派官网上显示的型号是1GHz的Marvell PXA920H,而笔者使用目前的最新版本安兔兔V2.9测试显示,其处理器型号为Marvell PXA910,下面为大家解释一下 ...

  3. iPhonexr安兔兔html5测试,给大家科普下iphonexr苹果手机安兔兔跑分多少分

    现在越来越多的小伙伴对于iphonexr苹果手机安兔兔跑分多少分这方面的问题开始感兴趣,因为大家现在都是想要熟知,学到这当中的各项功能,那么既然现在大家都想要知道iphonexr苹果手机安兔兔跑分多少 ...

  4. android 手机跑分,安兔兔安卓手机跑分性能榜公布:第一名实至名归?

    3月5日消息,安兔兔官方放出了2019年2月份国内安卓手机的性能跑分排行榜.从榜单中我们可以看到排名前三的分别是:小米9.联想Z5 Pro GT 855版.红魔Mars电竞手机. 不出所料,前三名都是 ...

  5. 最新处理器排名_安兔兔Android处理器天梯榜发布:最强的还是它

    点击上方蓝字[安兔兔]关注我 文章每天不断更! 为了让大家对自己使用的手机处理器性能有一个更直观的认知,安兔兔今天正式发布了Android手机处理器天梯榜.由于安兔兔V8增加了存储和刷新率在总分方面所 ...

  6. 安兔兔跑分可信吗_安兔兔安卓手机跑分性能榜公布:第一名实至名归?

    3月5日消息,安兔兔官方放出了2019年2月份国内安卓手机的性能跑分排行榜.从榜单中我们可以看到排名前三的分别是:小米9.联想Z5 Pro GT 855版.红魔Mars电竞手机. 不出所料,前三名都是 ...

  7. 2018年android手机版本统计,安兔兔发布2018年12月Android手机性能排行榜

    今天,安兔兔根据后台统计到的数据,公布了 2018 年 12 月份Android手机性能榜,这份 2018 年的最终榜单有哪些手机能够杀入前十呢?拭目以待吧. 注:本文图表中的安兔兔跑分(v7 版)均 ...

  8. iQOO Neo6现身安兔兔数据库:高导热稀土散热加入 跑分轻松破百万

    据上周官方宣布的消息,iQOO将于4月13日推出全新的iQOO Neo6系列手机,将搭载骁龙8移动平台和稀土散热系统,拥有旗舰级的游戏体验.而随着发布时间的日益临近,官方关于该机的预热也更加密集.现在 ...

  9. android 手机 跑分榜,Android手机哪家强?安兔兔鲁大师榜单见分晓!

    影响智能手机性能强弱的最关键部件就是SoC(处理器),这颗芯片采用的制程工艺.CPU架构和频率.GPU架构和频率都是至关重要的参数. 问题来了,想让普通消费者搞明白7nm和7nm EUV工艺的差异:C ...

最新文章

  1. java 打包的两种方式
  2. 用数字告诉你2014年Google的野心在哪里
  3. 天空测试显卡软件,BootCamp版本检测工具v1.5.2
  4. 语言教案 小小计算机,小班《小小手机本领大》语言教案
  5. 如何利用计算机模拟分子生物学,虚拟分子生物学学习实验室构建
  6. 国土部明确地面光伏、分布式光伏用地政策
  7. Coursera营养学课程考试小抄
  8. CentOS7 安装部署k8s
  9. 合肥工业大学机器人技术期末_机器人技术试题及答案.doc
  10. JAVA 身份证号码的验证
  11. 019 [工具软件]窗体置顶 DeskPins
  12. ora 01033 linux,数据库ORA-01033错误解决办法
  13. 超参数(Hyperparameter)
  14. python百度爬虫_Python爬虫 - 简单抓取百度指数
  15. 美国访问学者申请|J1签证官方指定材料大全
  16. ThinkPad T460s BIOS设置实现U盘启动
  17. vue大屏展示高度自适应
  18. xcode 断点不现实栈_真正成为“全栈”是不现实的,但您应该尝试
  19. 测评三个数据分析工具后,我终于找到了小白都会的数据可视化
  20. Wi-Fi 工作频段

热门文章

  1. ENVI5.3下高分二号(GF2)数据预处理
  2. JavaScript的运行机制,简单大白话讲解.
  3. vue render 渲染函数 属性写法
  4. VUE2 2.9.6 无法卸载问题的解决办法
  5. TFX发展简史/《Towards ML Engineering: A Brief History Of TensorFlow Extended (TFX)》
  6. Fork/Join工作原理解析
  7. dubbo-源码环境搭建
  8. c语言程序结构设计教案,大学课程-c语言选择结构程序设计教案
  9. 元月元日是哪一天_2020元宵节是几月几日哪一天 正月十五元宵节的具体时间
  10. 轻松搞懂python列表list 和numpy.array数组的区别