由于本人手机数据线有点问题,平板领导带去演示,再加上以后还要作屏幕尺寸适配,本人今天决定使用心里的阴影,模拟器来跑app,首先,我直接用react-native run-android来跑,出现的第一个错误是,大致的意思是,请确保您先将模拟器跑起来,这与传统的android studio在模拟器上跑是不一样的,android studio是一次性执行,包含启动模拟器,将app push到模拟器,这个错误如果不把那错误提示英语翻译过来是有点难以接受的,好了,知道了前提是run emultor,那就先将模拟器跑起来,这时候区百度搜索命令跑模拟器指令,百度给的是一串英文指令,不能复制,这时候闲着就去android studio上面去找灵感了,结果一不小心找到了保存指令的目录,其中指令是:
./emulator -netdelay none -netspeed full -avd Pixel_C_API_28
上面那个avd后面是创建的模拟器名称 ,这时候执行那个指令之后,各种环境变量出错,百度上搜索给出的是新建环境变量ANDROID_AVD_HOME,等等一些环境变量名称,我跟着改了,但是问题还是没有解决,这地方耗了不少时间,以我了解,百度上给的答案,大多都是知其源不知所以源的,是环境问题,但跟变量名没什么联系,我不停的测试debug,思索,最终定位到了问题的所在,因为的linux普通用户没有创建模拟器的权力,我使用的是root用户创建的,之前在普通用户.android目录下模拟是没法执行的,权限不够,所以我去root目录下找.android目录,刚开始没有找到是因为没考虑这里会有.android的隐藏文件夹,最后找到了,看了一下里面的模拟器名称,和之前的指令模拟器名称不一样,换了一下模拟器名称,结果跑起来了,但是提示disk space 不够,磁盘空间不够,再百度,百度说换地方,哦,换地方,对,将他换到home文件夹下面,因为当初分区这里面空间最多,root目录分到了/根目录,emulator执行之后会在该用户.android/avd/执行mnq.ini文件,其中有设置模拟器路径的地方:
此后再跑,模拟器正常跑起来了,下图所是:
这是通过指令挑起来的,不用android studio启动的模拟器,总结:模拟器启动简单,但是模拟器的启动流程,环境配置还是要有所了解;