zoukankan      html  css  js  c++  java
  • [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案

    时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说了,总之做的修改会造成很多影响其它方面功能的问题。对Android APP开发者来说最常见的就是adb(Android Debug Bridge)连接问题,HTC就不说了,是和Google合作的,Android前几代系统版本刚出来时,Google都是首先从HTC出相应新Android版本的产品,所以新产品的很多Android新特性代表的就是Google的原始意愿的。所以HTC的手机相应问题会少很多。

    说了点儿废话,下面进入正题:
      Mac OS X下和Windows(XP、7)下adb连接Android手机,有一点不同就是Mac OX X下没有所谓的Android usb adb驱动,只需要下载Google官方的sdk开发包,指定android-sdk-macosx/platform-tools/路经到系统当前用户的环境变量即可。
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    -MacBook-Pro:~ user$ Vim /Users/user/.profile
    export PATH=$PATH:/Android-SDK/android-sdk-macosx/platform-tools
    export PATH=$PATH:/Android-SDK/android-sdk-macosx/tools
    前期adb之类工具放在tools目录下面,后期统一放到platform-tools目录下面去了。

    此后,打开终端,在任意当前路经下都可以直接执行adb命令,通过USB线将Android手机和Mac PC连接后,adb devices,没有相应设备的列表。下面是解决办法:

    1. 打开终端,输入:system_profiler SPUSBDataType,查看Mac系统所有USB设备信息,找到相应的厂商Vender ID。

    查到相应连有Android手机设备的usb hub,找到相应的厂商Vender ID,比如,我的测试机K-Touch T619天语手机就无法连接adb,查到的相应信息片段如下:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片

    Spreadtrum phone:

              Product ID: 0x5d04  
              Vendor ID: 0x1782  
              ...  
    

    Serial Number: T619
           ...

    2. 终端进入/Users/user/.android,应该有一个adb_usb.ini文件,如果没有就创建,然后将上面的Vender ID “0x1782”单独一行加入到该文件,然后退出。
    [java] view plaincopy在CODE上查看代码片派生到我的代码片

    ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.

    USE 'android update adb' TO GENERATE.

    1 USB VENDOR ID PER LINE.

    0x1782

    3. 重启adb server进程。
    终端依次执行下面命令:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    adb kill-server
    adb start-server
    然后通过adb devices命令就可以查看到以相应设备Serial Number为名字的设备。如:
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    -MacBook-Pro:.android user$ adb devices
    List of devices attached
    emulator-5554 device
    T619 device

    PS:
    1. 有时 adb devices不能显示连接设备,需要拔掉数据线,多插几次,并且退出终端,然后重新打开,再输入命令就能发现连接的设备,再无法连接请重启电脑,等待系统初始化环境设置。
    需要注意的是并不是所有的android机器都能解决,比如有的手机有供应商ID,缺少产品ID,依然无法识别,这种奇葩形的就只能找其它方法了。

    2. Windows(XP、7)下面也可以同样的方法解决。但是前提也是已经指定了adb环境变量并且安装了相应Android手机设备的adb usb驱动,判断有没有装通过将手机和Windows连接,设备管理器里面没有发现显示有问号的设备就说明装了,有就说明没有安装。然后在C:Usersusername.android目录下面也有一个adb_usb.ini文件,像前面那样别起一行添加相应设备的Vender ID,重启adb server进程即可。

    mac 升级jdk到1.7 的配置
    因升级了Android Studio 需要升级jdk到1.7
    从Oracle官方下载个jdk1.7_xx.dmg,按照提示安装就可以了。
    Oracle提供的Java都安装在/Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk目录下。

    --vim ~/.bash_profile,添加如下代码。
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
    export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH:

    Reference:
    http://blog.csdn.net/esonpo/article/details/8798594

  • 相关阅读:
    【Rust】问号的使用
    【Rust】可变数组
    【Rust】字符串
    【Rust】迭代中错误一
    jQuery之CSS模块,筛选模块,文档处理(CUD)模块,事件模总结 安静点
    jQuery事件委托(委派/代理) 安静点
    jQuery文档增删 安静点
    jQuery事件绑定与解绑 安静点
    jQuery爱好选择器 安静点
    jQuery之mouseover与mouseenter区别 安静点
  • 原文地址:https://www.cnblogs.com/fly-fish/p/4899399.html
Copyright © 2011-2022 走看看