adb环境安装总结 2018-4-11 12:46:36

昨天晚上下班后把困扰我两个星期的adb环境给配置好了,我来总结一波血泪史。导致没配置成功的问题很低级,但是找到问题并解决问题的过程使我受益很多。

首先先配置好java环境,配置java环境网上一大堆,贴个链接照着配置,java环境都配置对了再进行下面的操作(注意:我安装java版本是10:jdk-10_windows-x64_bin )

教程链接:https://www.cnblogs.com/cnwutianhao/p/5487758.html

之后下载android-sdk(我下载的是android-sdk_r24.4.1-windows),然后根据网上教程配置adb环境,教程网上一大堆,我也忘记我看的是哪个教程了。链接等找到之后再贴上。

  1. 配置过adb环境变量之后再cmd命令行内打adb,没生效。此时猜测是否是adb环境配置有问题,之后确认adb环境的配置是没问题的

  2. 点击sdk manage.exe闪退。

    这个问题要重点说一下,这个问题是困扰我最长时间的,出现这个问题的时候立马上网搜解决方案,但是网上各种花样的解决方案都没用的。 最终解决方案如下: 在下载的android-sdk_r24.4.1-windows文件夹内找到readme打开阅读,得知我下载的android-sdk_r24.4.1-windows是最基础版的, 需要更多文件可以通过 sdk manage.exe安装。因为网上教程大多说是需要配置 home 下 tools 和 platform-tools 两个文件夹(当前只有一个tools文件但是没有platform-tools),猜测可能需要这个 manage 安装其他文件,所以当前目标就是通过manager安装其他文件

  3. 既然图形界面不行(直接打开sdk manager.exe),就直接用命令行,使用命令行安装,报了错误,搜索了一下错误相关信息得知是java版本过高导致的不兼容问题(应该是这个manager依赖java环境,之前强调过我安装的java版本是10)

  4. 重新安装java8并配置环境,配置过程中发现java环境本身配置的也有一些问题,配置path环境需要调用配置的java-home环境,但是我的java-home环境配置错误,导致配置的path环境整个失效了

  5. 重新配置好java8的环境,图形界面可以正常启动了。证明:图形界面运行是需要正常的java环境的。通过图形界面安装platform-tools,也成功了,证明:安装过程确实需要更低的java版本,之前的java10太高了,导致了不兼容。

此次安装过程共遇到了两个问题:

一是java环境配置错误,按照网上教程配置环境的时候一定要深入理解每一步的意思,我配置环境的时候没深入理解%java-home%代表的是什么意思,导致环境配置错误

二是配置adb环境的时候缺少 platform-tools这个路径,经检查是因为下载的sdk是最基础版的没有 platform-tools,然后需要用sdk manager.exe来安装更多的文件来得到platform-tools,但是sdk manager.exe打开闪退,之后通过命令行安装这个exe文件来查看具体的报错信息,进而找出是java版本过高引起的,错误如下:

sdkmanager.bat "platform-tools" "platforms;android-24"
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
        at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        ... 5 more

在网上查看这个报错信息 https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk ,得到可能是java版本引起的,看人家安装的是java8的版本而我是java10,就重新安装了java8版本来解决这个问题,最后解决了。