`

Android Studio开发环境搭建手记

阅读更多
引言
  我机器的操作系统为Window7 64位,16G内存。开发环境:Android Studion 1.3.2,JKD:32位1.7。本人原创,转载请保留本人信息。http://wallimn.iteye.com。

1. 下载
  下载bundle版的,如:android-studio-bundle-141.2178183-windows.exe。
  可以到国内的几个Android开发网站下载。bundle版的集成好了Android SDK,使用比较方便,不用再次使用SDK Manager来下载SDK了。推荐使用。

2. 安装
  很顺利,基本没有什么问题。仅遇到了一个虚拟机加速工具(HAXM)无法安装的问题,感觉没有太大影响,就没有关注。后来发现,这个没有安装上,虚拟机没有办法运行。我打算用真机调试,就没有关注这个问题。

3.使用
  前两步比较顺序,然后就是漫长的解决各种问题之旅
(1)启动检查SDK导致速度很慢的问题
  修改C:\Program Files\Android\Android Studio\bin\idea.properties文件,最后加上一句:
disable.android.first.run=true

(2)IDE运行速度过慢的问题
  修改C:\Program Files\Android\Android Studio\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页面,选择Use local gradle distribution,勾选Offline word;
  file->settings,Build,Execution,Deployment->Compiler页面,勾选Compile independet modules in parallel
  也可以修改项目中的配置文件,gradle.properties,里面有注释代码进行说明。可以调整虚拟机参数。

(4)开发机不联网,无法从远程库下载依赖包
  使用gradle在联网的机器上下载依赖包,然后拷贝到工程目录中的libs目录中。依赖包参照项目中的build.gradle文件中的相关部分。使用gradle可以将包下载下来,简单的处理方法是放到模块的libs目录中。即可编译通过。如果包过多会报一个错误,详见下文。

(5)Building时间特别长,导致机器无响应,长时间等待后,显示编译失败
  这个问题我原来试了很多办法,把它解决了,包括重新安装AS、修改JDK32位或64位的版本、使用AS的32位或64位版本。但问题原因和解决的方法没有弄明白,可能是多次创建项目,选择多种SDK版本,并将他们放在一个目录中,导致配置文件混乱的缘故,注意,是可能。后来多种折腾之后,将工程目录清空,新建工程,这个问题消失了。

(6)sdk manager.exe无法启动,窗口一闪就关掉
  文件不要放在带空格或带中文的目录中,配置JAVA的环境变量,包括JAVA_HOME、CLASSPATH,以及在Path中添加%JAVA_HOME%\bin。我机器出现这个问题是因为安装我32位、64位两个版本的JDK,而且java环境变量配置混乱,改好了之后就可以了。

(7)com.android.dex.DexIndexOverflowException: Cannot merge new index 68349 into a non-jumbo instruction!
  我一个新建的工程发生这样的错误,没有添加任何代码,很让人费解。后来发现是由于我把大量无用的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虚拟机加速的。又试发关天,也没有装好,我的机器支持虚拟化技术、而且Virtual Box中也能启用该技术。百思不行其解,怎么也没有解决。HAXM没有装上,虚拟机竟然启动不了,很奇怪。
  还好有Android-X86,下载了最新的5.1版,这个可以安装在Virtual Box或者VMware中的虚拟机。安装很方便、很简单,也很快。
  Android X86虚拟机网络设置:
  (1)上互联网
  很简单,在宿主机中,设置虚拟机的网络类型为“网络地址转换(NAT)”方式。如果主机能上互联网,虚拟机不用任何设置就可以上网。
  (2)宿主机、虚拟机联机调试
  这个网上很多教程说设置NAT模式,然后设置虚拟机地址。我试了很多遍,没有成功。后来发现解决办法:宿主机设置网络类型为“Host only”方式。启动虚拟机,左Ctrl+F1进入命令行窗口,执行ip a命令,查看虚拟机IP,一般为192.168.56.101。
  宿主机连接命令: adb connect 192.168.56.101
  安装APK命令:adb install myapk.apk
  (要求apk位于system_tools目录中)。

(10)删除项目中的模块
  项目上点右键,Open Module Setting,点红色的减号,从项目的模块列表中删除模块,此时模块对应的文件仍然在硬盘上,没有物理删除。此项目树上模块的图标已经发生了变化,模块上的手机小图标没有了,再点右键,可以看到delete,即可删除模块及基于对应的硬盘上的文件。

(11)building好久不响应
  今天出现了个很郁闷的问题。原来机器上一个测试项目很正常,但新建了一个项目之后,怎么弄都不行了,最后只好放弃了。在能联互联网上机器上调试程序,基本没有遇到问题。
  今天调通了几个疯狂Android讲义上的例子,好开心。

(12)项目代码混淆
  研究了半天,这个问题很好解决,找到模块(module)中的build.gradle文件,找到这样一行:
minifyEnabled false
  把其中的false改成true就可以了。
  改了之后,发现文件大小几乎变成了原来的60%。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics