美文网首页Android开发
AndroidStudio + AndroidSDK配置过程踩坑

AndroidStudio + AndroidSDK配置过程踩坑

作者: Michaelbest1 | 来源:发表于2017-11-18 15:35 被阅读55次

由于为了老婆换工作,最近又入了Android的坑。入职之前总得先把Android的开发环境配置一下吧,于是走起。

回忆了一下本科配置Android的过程,不就是Eclipse+ADT+AndroidSDK嘛?而且Java开发环境之前玩JNI的时候就配置好了,再装个ADT插件和AndroidSDK不就OK了?但是,技术更新可是日新月异,几年的功夫Android也不是原来的Android了。于是乎碰到了以下几个坑。

坑1:Android SDK22以后谷歌就不再更新ADT了,版本兼容会有问题。

装好ADT,装好SDK后,美滋滋地新建了个HelloWorld工程,以为就要搞定了。结果工程新建好以后Eclipse里就出了红线——support.v7这个包没有。

缺个包?没啥大问题,肯定为了图快,SDK里少装了什么东西,就跟编译C/C++程序少安装了依赖库没什么本质区别。上网一搜,果然是Android Support Repository没装。小意思,装好了肯定就OK了,毕竟配置环境总是会遇到坑的对吧。

哪知道,装好了这个Repository,还是不行!尼玛这就蛋疼了。只好再去找原因。仔细一查才发现越来谷歌已经不维护ADT了,而是去拥抱IntellJ支持AndroidStudio了!现在Android版本都已经到27了,肯定有兼容问题。好么,换IDE!

坑2:Android Studio使用Gradle编译,Gradle会在编译时在线下载依赖库,这就要访问谷歌,然后你懂的。

本以为换了IDE就会水到渠成,结果又被打脸。编译时提示无法解析com.android.support.appcombat-v7:26.0.0-beta1。打开详细log,果然是一个谷歌的地址无法访问导致的!

解决上一个坑的时候,为了上谷歌,就花30买了一个月的vps配置。于是我就尝试是否能直接在浏览器里访问那个地址,结果是可以。然后第一反应就是,我自己把这些依赖下载下来放在对应的目录里不就好了?

本来想为自己的“机智”鼓掌,但很快发现要为自己的智障买单了。下了两个包以后,invalide cache and restart,结果发现还有十几个依赖包没下载。还有更多依赖的依赖的依赖……而且之前下好的两个包也还是无法解析,并且不是因为有链接不能访问。看了一下其它放依赖包的文件夹,里面有好几种类型的文件,只下一个显然不能解决问题啊摔!这种方法显然是行不通了!此时的我心里真是一万只CNM GFW飘过。

当然,问题还是得解决,于是继续谷歌。查到一个帖子是可以改gradle.build里的配置,把repositories里的地址改成国内镜像的地址。试了一下还是不行。但是突然想到:诶,Android SDK Manager下载的时候也是设置了代理的,那AndroidStudio里一定也能设置代理!真是脑残啊,既然我的电脑都能“翻过城墙”了,那把IDE的网络设置一下不就OK了?!

终于,找到了AndroidStudio里的配置网络代理的地方:

AndroidStudio 代理设置

配置完,Invalid cache and restart,终于,编译成功!

坑3:Android虚拟机要安装HAXM,HAXM必须要打开Intel VT-x才能安装。

万里长征只剩最后一步——创建Android虚拟机。这一步还有个小坑要踩。

为了加速Android虚拟机的速度,现在创建Android虚拟机的时候必须安装HAXM,安装的时候却提示Intel VT-x not turned on。继续谷歌,原来HAXM是Hardware Accelaration Execution Manager,是Intel的虚拟加速技术,利用的是Intel CPU的VT-x(Virtualization Technology)特性。我擦嘞,这不是我硕士快毕业的时候CCS上最新论文里用来做Just-in-Time ROP防御的嘛!

设置硬件,自然要用BIOS了。我用的联想小新,于是关机,捅右侧小按钮,进入BIOS设置,Configuration->Virtualization Technology->Enable。搞定。

安装HAXM成功后,终于可以运行Android模拟器了,泪流满面。截图庆祝一下:

Hello Android!

小结

1. 一直都很讨厌配置环境,觉得把时间浪费在配置上很划不来。但其实仔细想想,配置的过程是个踩坑的过程,踩坑的过程就是学习的过程。这和写代码的时候踩坑没什么区别,一样都可以学到东西。作为一个攻城狮,就是要能解决问题。配置的过程就是锻炼解决问题能力的过程。解决问题的能力越强,才越能体现一个攻城狮的价值。所以,要改变心态,从哪儿跌倒就从哪儿爬起来!

2. 技术发展日新月异,必须得跟上节奏,不能守着陈旧的东西不放。国内很多行业仍然处于追随阶段,先得追的紧,才能谈超越。谷歌不维护ADT了,那就赶紧换AndroidStudio。就像微软不再维护XP以后,就得赶紧往win7 win10转移,否则有了坑别人不管啊!

3. 出问题的时候尽量查最详细的log,更有利于解决问题。这次在AndroidStudio里遇到无法解析的问题时,就是通过看详细的出错log才知道是因为网络原因导致的。找到问题的真正原因才好解决,少走弯路。

后续

1. Android8.0以后kotlin成了官方语言。语法上看起来有点像JS和Python。完全和Java兼容,这意味着可以无缝迁移到kotlin。这看起来是谷歌是想摆脱Oracle的掣肘?不过kotlin的开发效率应该是比Java更高,毕竟有更强大的类型推倒。后面研究研究再说吧。

2. VT-x在页权限上有了读保护?仿佛回到了读研的时候。有空看看。

相关文章

网友评论

    本文标题:AndroidStudio + AndroidSDK配置过程踩坑

    本文链接:https://www.haomeiwen.com/subject/empevxtx.html