我玩的手游要一直在线,但小米手机最多亮屏10分钟,需要人为的一直点,累死了。于是决定用电脑模拟器,笔记本型号小米air12.5 2017,系统ubuntu18.04。

想试试用谷歌的android SDK当模拟器,android SDK就是用来编写、运行、测试、编译apk的包,在linux下有2种,一种是130M没有界面,另一种是330M有基本界面的,除此之外还有个Android Studio大概760M和eclipse差不多。网上好多教程是在eclipse里编apk,用android SDK运行,我不管那个我只要模拟器。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list130M的无界面版
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list330M有界面版

理论上装完环境就能命令行生成模拟器。但太复杂了,强烈建议不会用的新手下载Android Studio。先用avdmanager create avd把一堆-p -n的配置明白,
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
然后./emulator -avd avdname 就能运行模拟器,avd是android virtual device就是虚拟安卓设备。这里我是先用Android Studio配置好才能运行的。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid listLinux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
有兴趣的可以参考https://developer.android.google.cn/studio/intro 它主要是介绍Android Studio,顺便讲解了编译流程和命令行工具。

下面进入Android Studio,下载安装包解压到想要安装的位置,似乎有的校园网会墙,我用的电信没问题。终端里运行studio.sh建议管理员运行后面可能出现运行模拟器权限不够。出现提示没有SDK点cancel跳过,选择要把SDK安装到哪,等待一段时间。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
安装好后会让你新建个项目,建议建到和SDK相同根目录。第一次进入studio会自动下载一些配置包,在右下角的更新里。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
更新完点击右上角AVD manager,新建一个虚拟设备,根据需要选择一个系统下载。创建好了按绿三角运行。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
如果出现/dev/kvm device permission denied说明权限不够,下面网站说了该怎么办,但我觉得最直接的办法还是sudo。https://www.manongdao.com/article-281130.html

出现Emulator: emulator: ERROR: Unknown AVD name […], use -list-avds to see valid list
这个问题很棘手,我整了有半天,先说结论虚拟设备的环境 或 环境变量出错了。
先根据提示到SDK tool里运行./avdmanager list avd,如果没有avd或有avd但提示已经改变位置,说明系统环境变量可能有问题。
再到Android Studio的终端里运行./avdmanager list avd,如果也有上面提示说明软件环境变量有问题。
如果都没问题那就是虚拟设备虽然位置正确,但没加入项目环境,是不是晕了,下面进行详细说明

创建虚拟设备时的位置是按照/UserName/.andriod来配置的,root用户就是/root/.android普通用户open就是/home/open/.android。SDK找虚拟设备时也会按这个位置找,但是按它自己安装时的用户代入。也就是说root时下载SDK,然后open调用那个SDK创建设备,就会出现这个问题,反过来也一样。解决方法就是用一个用户运行,否则就要改环境变量。
全局变量/ect/profile里加一句export ANDROID_SDK_HOME=xxx/.android虚拟设备的地址可以用show on disk查看
或者改软件环境变量,搜索environment variables,新建一项name=ANDROID_SDK_HOME。value=虚拟设备地址
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid listLinux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
可以参考 https://blog.csdn.net/xiaoxiao133/article/details/79819532 写的很清楚

如果都没问题那就是虚拟设备虽然位置正确,但没加入项目环境,新建虚拟设备时系统会自动分配磁盘区域当作手机的sd卡,这个sd卡的镜像就是上面说的虚拟设备地址。而运行设备时,软件会自动在默认的项目文件的用户目录中运行,就是说如果SDK和虚拟设备都是在root用户下运行的,但却把项目文件建在桌面(桌面是在open普通用户下),也会出错。
解决方法是把.avd和.ini复制到/home/open/.android/avd下。或者把项目也建在root用户下。
Linux使用android studio的虚拟机报错ERROR: Unknown AVD name [...], use -list-avds to see valid list
不说了,这个问题我找了一晚上终于找到了 https://www.icode9.com/content-3-359603.html 这篇文章作者是我救星,拯救了我两晚的睡眠。老实说如果是个懒人,一路next,全默认建在一个用户下就没这个问题了,还是庸人自扰。

很可惜模拟器速度太慢,而且又报错了,我再试试如果能玩我会把模拟器运行游戏的教程补上,再总结下命令行运行方法。不过大概率要重换一个了。

相关文章:

  • 2021-11-25
  • 2021-05-24
  • 2021-09-16
  • 2022-02-12
  • 2022-12-23
  • 2021-11-18
  • 2021-05-30
猜你喜欢
  • 2021-04-05
  • 2022-01-12
  • 2021-12-31
  • 2021-07-27
  • 2021-08-07
  • 2021-09-16
  • 2022-12-23
相关资源
相似解决方案