Android SDK手机应用开发中第三方模拟器、真机运行方法以及AVD模拟器黑屏的解决尝试
对于手机应用开发的测试运行,有基于模拟器和真机运行2种途径。
android SDK提供了AVD Manager进行模拟器的配置和管理,也可以采用第三方模拟器,通过安装和配置完成基于模拟器的运行测试。
可通过连接线外接真机,完成测试。
** 个人建议:
现在手机屏幕普遍分辨率较高,首先建议真机运行,速度快,方便!如果对于需要检查适配各个机型或者手头没有对应型号真机的情况,建议选择第三方模拟器,比AVD具有更好的性能和兼容性。因此,本文按真机、第三方模拟器和AVD的顺序介绍如下。
**
本文尝试对android SDK自带的AVD模拟器黑屏问题进行解决,描述了所采用过的各种解决方法及结果,供大家参考,也期待有更好的解决方法。
(1)打开手机设备的“开发者模式”(不同设备略有不同),打开“USB调试”选项(即可对该设备进行应用程序安装、运行等操作)
以华为meta9为例:
开启“开发者模式” 步骤如下:
[1] 选择【设置】进入系统设置菜单,进入【关于手机】;
[2] 对【版本号】,连续点击5~7下;
[3] 屏幕出现【您现在处于开发者模式】,即可;
[4] 返回【设置】,可找到【开发者选项】;
[5] 进入【开发者选项】,打开【USB 调试】选项,并【确定】。
关闭“开发者模式” 步骤如下:
[1] 选择【设置】进入系统设置菜单,进入【应用管理】;
[2] 找到其中的【设置】,并进入;
[3] 点击【存储】,进入后,点【删除数据】,会提示“是否删除所选应用数据?“,点”确定“。即可退出”开发者模式“,此时在”设置“中【开发者选项】消失。
(2)USB连接线连接手机,电脑或手机出现类似“运行调试吗”提示时,选择确定。
(3)运行程序
采用第三方模拟器是解决该问题的一个很好的方法。
例如:可参考后面网址安装连接夜神:https://blog.csdn.net/yx20130919/article/details/103619227
然后按以下步骤,完成模拟运行:
(1)启动夜神,并设置为开发者模式:
启动夜神模拟器,设置->关于平板电脑->点击5次版本号 进入开发者模式
屏幕会改变!
(2)进入cmd,连接
adb connect 127.0.0.1:62001
用nox_adb也可以,只是保证c:\Program Files\Nox\bin中的adb.exe(安装目录)和D:\Android\android-sdk\platform-tools\中的adb.exe版本一致。
用这个命令检查:
(3)注意AVD Manager中已经删除之前的模拟设备的设置,避免在缺省时不运行到第三方模拟器
(4)对于cordova应用,到cordova工程目录,用cordova run运行(不连接真机,即可自动识别该模拟器),如图:
进入android SDK安装目录,运行AVD manager.exe,出现:
在“Android Virtual Devices”点“Create”可创建自己的模拟器,如图:
配置完成后,选中并启动它。
如果很幸运,你成功了,恭喜你!
很大概率会出现问题。对于曾经遇到的问题和尝试解决的过程汇总如下:
出现该问题是提示模拟器需要硬件加速。提示HAXM没有安装,HAXM是intel X86的模拟器加速器。
解决方法:
运行SDK Manager,找到extras中HAXM的安装选项,安装它,如图:
如果安装选择中提示不兼容windows,如图:
解决方法是:
【1】 取消硬件加速选型“use host GPU”,再试
【2】 手工安装intel emulator Accelerator(HXAM).
在6.0.5版本后出现该问题,可以从官方所提供网址:https://github.com/intel/haxm
下载后手动安装。
如果没有不兼容提示,安装。
安装后到以下目录,运行intelhaxm-android.exe:
在cmd中,check是否安装成功:
再到avd manager启动,出现模拟屏幕:
对于黑屏,尝试了多种方法,包括:
-<1> 设置RAM和User Host GPU
在AVD Manager中,调小Memory Options的RAM(小于768);设置或取消Use Host GPU
不行!
- <2> 修改config.ini
在自己本机的C:\Users\自己的用户名.android\avd\目录下找到你设置的模拟设备的配置文件config.ini,将编码格式从缺省的avd.ini.encoding=UTF-8,修改为avd.ini.encoding=ISO-8859-1 (具体说明详见原文链接:https://blog.csdn.net/hx7013/article/details/77184594)
保存后,重启模拟器,仍然不行!
- <3> 修改NVIDIA 控制面板的3D设置
打开 NVIDIA 控制面板 - 管理3D设置 - 程序设置,
添加,
然后把首选图形处理器,在“集成图形”和“高性能NVIDIA处理器”之间切换试试,看能否解决问题。原文参考详见:https://blog.csdn.net/hx7013/article/details/77184594)
仍然黑屏!!!
- <4> 设置模拟器的scale
在命令窗将程序运行到模拟器时,发现有如下提示:
是否因为是模拟器超出可显示范围?!
采用如下方法尝试:
在启动AVD之前设置scale:
但仍旧黑屏!
有说是在android SDK到8.0以上,AVD都是黑屏?!!
期待其他开发者的解决分享!