avd 记录~
一、avd 创建
1.1、选择创建自己的设备
1.2、自定义设备的参数配置
https://developer.android.google.cn/studio/run/managing-avds?hl=zh-cn#hpproperties
英文 | 解释 |
---|---|
Device Name | 设备名称 |
Device Type | 设备类型 |
Screen | 屏幕:屏幕尺寸 |
Memory | 存储设备:RAM |
Input - Has Hardware Buttons | 输入:具有硬件按钮(返回/主屏幕/菜单)设置后会隐藏状态栏和导航栏 |
Input - Has Hardware Keyboard | 输入:具有硬件键盘 |
Navigation Style | 输入:导航样式 |
1.3、选择自己创建的设备,next,再选择api即可。
二、avd 默认位置安装位置
通过环境变量设置是可以修改的,如果使用的是windows就要修改,否则会占用C盘。
2.1、.android/avd 下
2.1.1、.android/avd/xxxx.ini 文件
包含:编码格式、AVD路径、名称、目标版本
avd.ini.encoding=UTF-8
path=/Users/xxxx/.android/avd/E171-TV_API_31.avd
path.rel=avd/E171-TV_API_31.avd
target=android-31
2.1.2、.android/avd/.avd 下 config.ini
AvdId = E171-TV_API_31
PlayStore.enabled = false
abi.type = arm64-v8a
avd.ini.displayname = E171-TV API 31
avd.ini.encoding = UTF-8
disk.dataPartition.size = 6442450944
fastboot.chosenSnapshotFile =
fastboot.forceChosenSnapshotBoot = no
fastboot.forceColdBoot = no
fastboot.forceFastBoot = yes
hw.accelerometer = yes
hw.arc = false
hw.audioInput = yes
hw.battery = yes
hw.camera.back = virtualscene
hw.camera.front = emulated
hw.cpu.arch = arm64
hw.cpu.ncore = 4
hw.dPad = no
hw.device.hash2 = MD5:12a57aa6873840a84dec2f2937e4bb8a
hw.device.manufacturer = User
hw.device.name = E171-TV
hw.gps = yes
hw.gpu.enabled = yes
hw.gpu.mode = auto
hw.initialOrientation = landscape
hw.keyboard = yes
# 密度比(dpi)
hw.lcd.density = 160
# 尺寸
hw.lcd.height = 792
hw.lcd.width = 1726
# 导航栏,最好不要改,会引起尺寸拉伸,最好通过创建就定好,phone这个值是yes,TV是no
hw.mainKeys = no
hw.ramSize = 1536
hw.sdCard = no
hw.sensors.orientation = yes
hw.sensors.proximity = yes
hw.trackBall = no
image.sysdir.1 = system-images/android-31/google_apis/arm64-v8a/
runtime.network.latency = none
runtime.network.speed = full
showDeviceFrame = no
skin.dynamic = yes
# 尺寸
skin.name = 1726x792
skin.path = _no_skin
skin.path.backup = _no_skin
tag.display = Google APIs
tag.id = google_apis
vm.heapSize = 192
通过此配置文件修改尺寸和density是好用的,如果想设置状态栏和导航栏不可见,建议不要在此设置,而是通过”1.2“的设置修改,否则界面尺寸不太对。
hw.dPad = yes //隐藏导航栏将no改成yes
hw.mainKeys = yes //隐藏导航栏将no改成yes
如上修改完尺寸不太对
三、ADB 设置
改变屏幕尺寸和密度比,貌似只是此次生效,我看文件里的数值没变。
adb shell wm size 1726x792
adb shell wm density 160
四、注意
4.1、状态栏不隐藏,但是代码获取状态栏是0
secondary % adb shell wm size
Physical size: 1320x1272
Override size: 1272x1320
secondary % adb shell wm size
Physical size: 1272x1320
secondary %
如上,如果出现这个状态:
Physical size: 1320x1272
Override size: 1272x1320
那么AVD会有错误,状态栏显示出来了;
修改config.ini 内的尺寸后确保只有只有
Physical size: 1272x1320
这个时候,状态栏隐藏了。
四、参考地址
https://developer.android.google.cn/studio/run/managing-avds?hl=zh-cn