很多天之前就安装了visual studio community 2015,今天闲着么事想试一下Apache Cordova,用它来开发跨平台App。在这之前需要配置N多东西,这里找到了一篇MS官方文章:配置 Visual Studio Tools for Apache Cordova。看着这片文章开始一个个安装,nodejs、chrome、Git、Apache Ant、Oracle Java、Android SDK等,然后又是配置环境变量。最后呢,我们可以使用VS自带的检测工具来检测一下依赖环境是否正确安装和查看环境变量设置,如下图:
这样的检测结果让我很郁闷,自己明明安装了Node.JS了啊!并且是32位的。难道是安装了最新版的(v5.7),无语啊!还有就是Android程序包,不很明白他说的到底是哪一个,反正已经安装了很多,如下图:
如果还需要安装Android SDK相关的其他东西可以去这里下载:AndroidDevTools,我就在这里下载的。我把检测出来的几个问题忽略了,接下来我就创建了一个Apache Cordova 空白项目,然后就是激动的调试了。拿来数据线,链接上手机(当然不要忘记打开“开发者模式”),然后选中“设备”,点击调试……悲剧的事情发生了,部署程序失败!原因:无法启动adb.exe。我当时就蒙了!在Android原生开发中这种问题常有,说是5037端口被其他的程序占用了,我就试了一下:netstat -ano|findstr 5037 没有找到啊!接着我试着输入adb start-server 可以启动成功啊,如下图:
不知道怎么办了,难道真的是上面检测的问题,这个问题弄得我很郁闷!最后发现adb 还可以检测连接到的Android设备,我就试了一下:adb devices 还真没有发现设备。这是怎么回事儿,电脑可以发现手机的机身存储和SD卡啊!后来,我便找来了我的最古老的Android手机——三星i559试了一下,没问题,找到了,如下图:
哎!瞧瞧人家,这么老的手机都可以,就是系统有点老(2.3)、内存是有点小(256MB)……难道我的魅蓝note2就不行,其实我找了一种间接的解决方案,就是电脑和手机都安装360手机助手(我的同学说豌豆荚也可以),安装之后就可以了,也部署成功了,但是卸载之后就不行了。最后我问了一下我搞Android开发的同学,他说应该是驱动的问题,这两个驱动(?android驱动和?存储驱动)应该是两码事儿,并给了我一篇文章:adb devices 找不到设备怎么办 当我看到“adb_usb.ini” 这几个字的时候我眼前一亮,因为我看见过它。其实这篇经验说的很清楚关键是找到“硬件ID”,按照他的说法先找到“ADB Interface” ,双击进入“ADB Interface 属性”,接着选中“详细信息”,最后在属性下拉框中选中“硬件ID”,我的魅蓝note2是 2a45,如下图:
不同的电脑“ADB Interface”应该在不同的地方,我的(win10)和百度经验就不在一个地方,但是目的只有一个,就是“ADB Interface”,最后按照经验上说的在指定的路径创建或者修改adb_usb.ini文件,因为我的电脑中没有这个文件,所以就直接创建了一个,然后输入“0x2a45”保存。再次检测 就没有问题了,如下图:
还有就是在说说adb_usb.ini这个文件。魅蓝note2在连接电脑的时候有一个这样的选项“内置光盘”,如下图:
选中他之后,”我的电脑“是这样的,多了一个“CD驱动器”:
点开之后,在“I:\USB Reference Manual\简体\ADB_参考说明书.txt”中有关于“adb_usb.ini”的介绍:
二、Windows XP中文环境
1. 建立或修改C:\Documents and Settings\<你的用户名>\.android\adb_usb.ini文件,在该文件中添加一行文本,内容是0x2a45。
2. 检查ADB设备是否找到(命令行程序中)
adb kill-server
adb devices
三、Windows 7中文环境
1. 建立或修改C:\用户\<你的用户名>\.android\adb_usb.ini文件,在该文件中添加一行文本,内容是0x2a45。
2. 检查ADB设备是否找到(命令行程序中)
adb kill-server
adb devices
哎!其实早就注意到他了,就是没有重视,所以这里特别提一下,最后附上一张安装成功的截图来结束这篇文章。