IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Android 模拟器实现 hosts 修改

    androidyue发表于 2023-03-12 20:50:00
    love 0

    有时候我们需要使用 Android 模拟器来 绑定一下 hosts 来实现功能的开发与验证,刚好最近遇到了这样的需求,处理完成,简单记录一下。

    替换m1 实现(针对 苹果 M1 芯片才需要处理)

    下载这个文件 https://github.com/google/android-emulator-m1-preview/releases/download/0.2/emulator-darwin-aarch64-0.2-engine-only.zip

    解压,然后将 emulator 和 emulator-check 替换掉这里面的文件 ~/Library/Android/sdk/tools/ (原有的可以备份为 xxx_backup)

    查看 avd_id

    1
    2
    3
    4
    5
    6
    7
    
    ~/Library/Android/sdk/tools/emulator -list-avds
    Pixel6ProAPI33
    Pixel_3a_API_33_arm64-v8a
    Pixel_6_API_22
    Pixel_6_API_28
    Pixel_6_Pro_API_23
    Pixel_6_Pro_API_30_X86
    

    启动 avd,可写入状态

    1
    
    ~/Library/Android/sdk/tools/emulator -avd Pixel_3a_API_33_arm64-v8a  -writable-system
    

    新起终端tab 执行

    1. adb root
    2. adb remount
    3. adb push your_hosts_on_mac /etc/hosts

    验证ping

    假设上面的 hosts 我们新增了 127.0.0.1 baidu.com

    1
    2
    3
    4
    5
    6
    
    adb shell
    
    ping baidu.com
    PING baidu.com (127.0.0.1) 56(84) bytes of data.
    64 bytes from baidu.com (127.0.0.1): icmp_seq=1 ttl=64 time=1.55 ms
    64 bytes from baidu.com (127.0.0.1): icmp_seq=2 ttl=64 time=0.180 ms
    

    注意: hosts 修改建议在 mac 上进行处理,然后使用adb push your_hosts_on_mac /etc/hosts 替换手机内的hosts。手机内置的 vi 很弱,可能无法编辑。

    以上。





沪ICP备19023445号-2号
友情链接