原因

按照android官方说明,android_id会随着恢复出厂设置或重新烧录系统,或切换用户登陆都会重新随机生成新的anroid_id
因此对于一些依赖anroid_id做唯一识别标识之一的软件来说就有问题了。

修改成唯一的方法

我这里使用serialno作为android_id, 因为从我这边开发板追溯代码看到,serialno是从核心板的某块stm32里取的值,目前看是唯一的。
具体修改步骤:
1)进到android9.0系统源码里,frameworks/base/packages/SettingsProvider/src/com/android/providers/settings

2)修改SettingsProvider.java, 找到方法:private void ensureSecureSettingAndroidIdSetLocked(SettingsState secureSettings)
大概在2730行左右(懒的直接跳到这里就可),然后直接把 String androidId 修改为如下:

 String androidId = SystemProperties.get("ro.serialno", Long.toHexString(new SecureRandom().nextLong()));

就是通过获取Properties内的ro.serialno来替换原来的随机生成的值,记得:
import android.os.SystemProperties;

Android9.0从系统层面修改android_id相关推荐

  1. Android9.0(androidP)系统API和行为变化

    这篇文章,是Android官方文档的中文版本. 注意事项(AndroidP 特性): (1),android.os.Build.VERSION.RELEASE ,需要当做字符串类型处理. (2),依赖 ...

  2. android语言设置,android9.0默认系统语言改为中文

    第一种方法: 修改 build/tools/buildinfo.sh echo "ro.product.locale.language=zh" echo "ro.prod ...

  3. oppo android9.0,OPPO新机搭载Android9.0,跑分曝光

    描述 集微网消息,上周我们曝光一款OPPO型号为PBDM00的新机,原本我们以为它就是搭载骁龙670处理器的R17 Pro,因为它的三围.屏幕大小.分辨率等都与R17一致,除了后置三颗摄像头与前置屏幕 ...

  4. linux修改文件句柄数生效_linux系统层面调优和常见的面试题

    linux系统层面调优和常见的面试题​mp.weixin.qq.com 无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,这里主要介绍3种 ...

  5. rk3368 Android9.0调试记录之系统分区调整

    系统分区调整记录 Platform: RK3368 OS: Android 9.0 Kernel: 4.4.194 文章目录 系统分区调整记录 1. 升级固件后开机进recovery出错 1.1. 调 ...

  6. vivo手机系统android9,vivo终于推送Android9.0,这几款机型你有吗?V粉们已经迫不及...

    原标题:vivo终于推送Android9.0,这几款机型你有吗?V粉们已经迫不及 随着科技的发展,现在手机的更新也是非常的快,当然现在很多人都非常在乎手机系列,因此很多手机厂商都在不断的更新手机系统, ...

  7. android9.0系统下,如何保活

    android9.0系统下,讨论如何延长APP退到后台的保活/复活时间 一.7.0及以上不存在真正意义的保活. 二.盘点目前在9.0上,可能有效的"白色手段"保活手段(这里不讨论黑 ...

  8. MT6765 + Android9.0修改开机动画

    工作中经常因客户不同需要修改开机动画.开机第一帧.不同平台修改方式也不同,为此整理此文档希望能帮助大家. 下面是3大厂商修改开机动画后对GMS.OTA升级影响列表: 可以知道MTK.高通平台如果只修改 ...

  9. android9.0系统systemUI显示客制化

    1.去除下滑通知栏中的多余快捷图标:对于有的代码在framework中的systemUI中修改,但是有的代码则是在vendor下package中的systemUI中修改,mtk-6762  P代码就是 ...

最新文章

  1. react-dnd-dom_我如何使用react-dnd和react-flip-move构建React游戏
  2. ios 自己创建的动态frameworks 怎么发布_iPadOS/iOS 13.1 正式发布,这才是真正的 iOS 13 系统...
  3. C和指针之反转字符串
  4. zookeeper3.4.6完全分布式安装
  5. Loadrunner11 下载、安装与破解
  6. Hadoop2.0安装
  7. 免费的html代码大全,html代码大全,搜集最全的html代码.doc
  8. android9三星功能,三星开启安卓9.0测试:One UI Beta计划
  9. 如何删除2345浏览器网络导航主页
  10. Protel常用封装库
  11. 流利阅读 2019.1.22 Theresa May loses big over her Brexit deal
  12. 数字ic设计自学ing
  13. 几万年前,孙悟空大闹地府后删库跑路了!那阎王生死簿又该怎么写呢?
  14. ModuleNotFoundError: No module named ‘typing_extensions‘
  15. 阿里云服务器ECS购买教程
  16. 用python画动图_Python 绘图与可视化 matplotlib 制作Gif动图
  17. Kubernetes web界面kubernetes-dashboard安装
  18. 一览印度区块链项目Matic Network的应用场景
  19. seo要学什么东西?
  20. Hadoop和一般数据库的区别?

热门文章

  1. RTSP客户端的JAVA实现
  2. 【图像计数】基于计算机视觉实现蚊香片计数含Matlab源码
  3. 微信小程序开发一个小型商城(一、准备工作)
  4. linux服务器重启命令是什么
  5. 文件文档在线预览开源项目kkFileView的使用
  6. Python基础知识及概念
  7. 用js改变css样式
  8. leetcode 字符串中的变位词
  9. Postgresql中procedure支持事务语法(实例分析)
  10. 正则表达式如何匹配中文