使用avdmanager创建AVD时,--tag参数应指定什么有效值?
我来帮你拆解这个问题,一步步搞清楚怎么解决:
错误提示的含义
首先看avdmanager帮助信息里的这句话:
-g --tag : The sys-img tag to use for the AVD. The default is to auto-select if the platform has only one tag for its system images
翻译成大白话就是:--tag参数是用来指定你要创建的AVD对应的系统镜像标签的。如果某个Android版本的系统镜像只有一个标签,那你不用手动加这个参数,工具会自动识别;但如果有多个可选标签,就必须明确指定你要用哪一个,不然就会报错。
你遇到的Error: Invalid --tag default,是因为你没有手动指定标签,工具默认尝试用default标签,但你下载的system-images;android-25;google_apis;armeabi-v7a这个镜像包的标签并不是default,而是google_apis,所以匹配失败报错了。
正确的参数值
你需要把--tag(或者它的缩写-g)的值设为你下载的系统镜像对应的标签,也就是google_apis。所以正确的创建命令应该是:
avdmanager create avd -n test -k "system-images;android-25;google_apis;armeabi-v7a" -g google_apis
如果不确定自己下载的镜像标签是什么,可以用这个命令查看已安装的SDK组件:
sdkmanager --list
找到你安装的system-images条目,格式是system-images;[Android版本];[标签];[架构],中间的那个部分就是你需要的标签值。
关于官方文档没提及--tag的情况
确实存在官方文档更新滞后于SDK工具迭代的情况,尤其是这种命令行工具的细节参数。这时候直接查看工具自带的帮助信息(avdmanager create avd --help)反而最准确,它会告诉你当前版本工具支持的所有参数和用法。
内容的提问来源于stack exchange,提问作者kolen

