gpt4 book ai didi

android - 自动更改 Android 模拟器区域设置

转载 作者:IT老高 更新时间:2023-10-28 22:01:23 28 4
gpt4 key购买 nike

对于自动化测试(使用 Hudson),我有一个脚本可以为 Android 操作系统版本、屏幕分辨率、屏幕密度和语言的多种组合生成一堆模拟器。
这工作正常,除了语言部分。

我需要找到一种方法来自动更改 Android 系统区域设置。以下是我能想到的一些方法,按优先顺序排列:

  • 在启动模拟器之前直接提取/编辑/重新打包 QEMU 镜像
  • 启动后在模拟器上运行某种改变系统区域设置的 APK
  • 启动后更改模拟器文件系统的区域设置
  • 启动后在模拟器上更改某些 SQLite DB 中的区域设置
  • 运行一个按键序列(通过模拟器的 telnet 界面)打开设置应用并更改语言环境
  • 手动为每个平台版本启动模拟器,在设置中手动更改语言环境,保存并存档图像以供以后部署

任何想法是否可以通过上述方法或其他方式完成?

您知道系统将区域设置保存到/读取的位置吗?


解决方案:
感谢 dtmilano 关于相关属性的信息,以及我的一些进一步调查,我想出了一个比上述所有想法更好、更简单的解决方案!

我已经在下面更新了他的答案。

最佳答案

我个人认为最简单的方法是启动模拟器,可能是一个干净的实例,除非您正在运行依赖于其他应用程序的集成测试,然后使用 adb 更改语言环境:

$ adb shell '
setprop persist.sys.language en;
setprop persist.sys.country GB;
stop;
sleep 5;
start'

或您要设置的任何语言环境。要验证您的更改是否成功,只需使用

$ adb shell 'getprop persist.sys.language'

您可能还想在已知端口上运行模拟器,请查看 my answer in this thread .


注意,您也可以在启动模拟器时直接设置系统属性:

emulator -avd my_avd -prop persist.sys.language=en -prop persist.sys.country=GB

这样,您可以创建任何类型的普通旧模拟器,然后使用您选择的语言环境立即启动它,无需首先对模拟器图像进行任何修改。

此区域设置将在模拟器的 future 运行中保持不变,当然您可以在启动时或运行时再次更改它。

关于android - 自动更改 Android 模拟器区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417427/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com