Android Studio开发环境搭建手记
引言
1.下载
下载bundle版的,如:android-studio-bundle-141.2178183-windows.exe。
可以到国内的几个Android开发网站下载。bundle版的集成好了AndroidSDK,使用比较方便,不用再次使用SDKManager来下载SDK了。推荐使用。
2.安装
很顺利,基本没有什么问题。仅遇到了一个虚拟机加速工具(HAXM)无法安装的问题,感觉没有太大影响,就没有关注。后来发现,这个没有安装上,虚拟机没有办法运行。我打算用真机调试,就没有关注这个问题。
3.使用
前两步比较顺序,然后就是漫长的解决各种问题之旅
(1)启动检查SDK导致速度很慢的问题
修改C:\ProgramFiles\Android\AndroidStudio\bin\idea.properties文件,最后加上一句:
disable.android.first.run=true
(2)IDE运行速度过慢的问题
修改C:\ProgramFiles\Android\AndroidStudio\bin\studio64.exe.vmoptions,增加或修改java虚拟机内存设置参数:
-Xms256m
-Xmx900m
-XX:MaxPermSize=512m
注:以下参数根据自己机器情况进行调整,如果为32位系统,修改文件studio.exe.vmoptions,32位系统,这个参数不能修改过大,会导致虚拟机不能启动。个人感觉好像后两个值总大小不能超过1.5G。
(3)gradle编译慢
file->settings,Build,Execution,Deployment->Gradle页面,选择Uselocalgradledistribution,勾选Offlineword;
file->settings,Build,Execution,Deployment->Compiler页面,勾选Compileindependetmodulesinparallel
也可以修改项目中的配置文件,gradle.properties,里面有注释代码进行说明。可以调整虚拟机参数。
(4)开发机不联网,无法从远程库下载依赖包
使用gradle在联网的机器上下载依赖包,然后拷贝到工程目录中的libs目录中。依赖包参照项目中的build.gradle文件中的相关部分。使用gradle可以将包下载下来,简单的处理方法是放到模块的libs目录中。即可编译通过。如果包过多会报一个错误,详见下文。
(5)Building时间特别长,导致机器无响应,长时间等待后,显示编译失败
这个问题我原来试了很多办法,把它解决了,包括重新安装AS、修改JDK32位或64位的版本、使用AS的32位或64位版本。但问题原因和解决的方法没有弄明白,可能是多次创建项目,选择多种SDK版本,并将他们放在一个目录中,导致配置文件混乱的缘故,注意,是可能。后来多种折腾之后,将工程目录清空,新建工程,这个问题消失了。
(6)sdkmanager.exe无法启动,窗口一闪就关掉
文件不要放在带空格或带中文的目录中,配置JAVA的环境变量,包括JAVA_HOME、CLASSPATH,以及在Path中添加%JAVA_HOME%\bin。我机器出现这个问题是因为安装我32位、64位两个版本的JDK,而且java环境变量配置混乱,改好了之后就可以了。
(7)com.android.dex.DexIndexOverflowException:Cannotmergenewindex68349intoanon-jumboinstruction!
我一个新建的工程发生这样的错误,没有添加任何代码,很让人费解。后来发现是由于我把大量无用的jar包放在模块目录中的缘故,清理之后,问题解决了。网上说的在project.properties中添加dex.force.jumbo=true,由于我使用的是AS1.3.2,没有找到对应的位置。且那个方法好像也是个治标不治本的方法。
(8)出现com.android.tools.build:gradle:X.XX:gradle.jar无法下载问题
修改项目的gradle.properties,增加以下代码:
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=8087
systemProp.http.nonProxyHosts=localhost
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=8087
systemProp.https.nonProxyHosts=localhost
经过几天的折腾,终于把自动生成的工程编译通过了。不容易呀。可能很多问题的产生都是由于机器不联互联网的缘故,希望以上经验对同样情况的朋友有帮助。我在能上互联网的机器上安装试用了一下,没有遇到其中大部分问题。
(9)使用虚拟机调试
今天写好了Helloworld程序,准备调试一下,才发现HXAM是用于Android虚拟机加速的。又试发关天,也没有装好,我的机器支持虚拟化技术、而且VirtualBox中也能启用该技术。百思不行其解,怎么也没有解决。HAXM没有装上,虚拟机竟然启动不了,很奇怪。
还好有Android-X86,下载了最新的5.1版,这个可以安装在VirtualBox或者VMware中的虚拟机。安装很方便、很简单,也很快。
AndroidX86虚拟机网络设置:
(1)上互联网
很简单,在宿主机中,设置虚拟机的网络类型为“网络地址转换(NAT)”方式。如果主机能上互联网,虚拟机不用任何设置就可以上网。
(2)宿主机、虚拟机联机调试
这个网上很多教程说设置NAT模式,然后设置虚拟机地址。我试了很多遍,没有成功。后来发现解决办法:宿主机设置网络类型为“Hostonly”方式。启动虚拟机,左Ctrl+F1进入命令行窗口,执行ipa命令,查看虚拟机IP,一般为192.168.56.101。
宿主机连接命令:adbconnect192.168.56.101
安装APK命令:adbinstallmyapk.apk
(要求apk位于system_tools目录中)。
(10)删除项目中的模块
项目上点右键,OpenModuleSetting,点红色的减号,从项目的模块列表中删除模块,此时模块对应的文件仍然在硬盘上,没有物理删除。此项目树上模块的图标已经发生了变化,模块上的手机小图标没有了,再点右键,可以看到delete,即可删除模块及基于对应的硬盘上的文件。
(11)building好久不响应
今天出现了个很郁闷的问题。原来机器上一个测试项目很正常,但新建了一个项目之后,怎么弄都不行了,最后只好放弃了。在能联互联网上机器上调试程序,基本没有遇到问题。
今天调通了几个疯狂Android讲义上的例子,好开心。
(12)项目代码混淆
研究了半天,这个问题很好解决,找到模块(module)中的build.gradle文件,找到这样一行:
minifyEnabledfalse
把其中的false改成true就可以了。
改了之后,发现文件大小几乎变成了原来的60%。