苹果芯片设备下修改安卓模拟器(AVD)的ro.serialno序列号方法问询
适配Mac M1 安卓模拟器(Android 11 arm64-v8a API30)的序列号修改方案
以下方案针对你提到的ro属性只读、启动参数不支持、内核配置被覆盖的问题均可生效:
前置准备
关闭当前运行的目标模拟器,不要加载快照启动。
步骤1:以系统可写模式启动模拟器
执行启动命令:
emulator -avd 你的设备名称 -writable-system -no-snapshot-load
-writable-system参数会将系统分区挂载为可修改状态,突破默认只读限制。
步骤2:获取adb root权限并重挂载系统分区
模拟器完全启动后依次执行命令:
adb root开启adb root权限adb remount重新挂载系统分区为可读写状态
步骤3:修改ro.serialno及其他标识参数
方法1:直接编辑build.prop文件(修改永久生效,需配合可写模式启动)
- 拉取系统配置文件到本地:
adb pull /system/build.prop ./build.prop - 用文本编辑器打开本地的build.prop文件,查找
ro.serialno字段,修改为你想要的序列号值;如果没有该字段,直接在文件末尾新增一行ro.serialno=自定义序列号即可。其他需要修改的标识参数(如ro.product.model、ro.build.version.release等)也可同步修改。 - 将修改后的配置文件推回模拟器:
adb push ./build.prop /system/build.prop - 修复文件权限:
adb shell chmod 644 /system/build.prop
方法2:临时修改(重启后失效)
如果仅需要本次启动生效,可在完成步骤2后直接执行命令修改:adb shell setprop ro.serialno 自定义序列号
注:该方法仅在本次模拟器运行周期内生效,重启后会恢复默认值
步骤4:验证修改结果
执行adb reboot重启模拟器,重启完成后执行adb shell getprop ro.serialno即可查看修改后的序列号值。
后续启动优化
如果不需要每次启动都输入命令,可打开模拟器配置文件~/.android/avd/你的设备名称.avd/config.ini,新增一行配置:
extra_args=-writable-system
后续直接在Android Studio中启动该模拟器也会自动加载可写系统配置,保留所有自定义参数修改。
补充说明
你之前遇到的-prop参数报错是官方模拟器的限制,该参数仅支持qemu.前缀的属性配置,系统级ro开头的属性无法通过该参数直接设置。
内容的提问来源于stack exchange,提问作者nanoteilchen
相关产品推荐
相关产品推荐

