单机搭建Android开发环境(二)
前文介绍了如何优化SSD和内存,以发挥开发主机的最佳性能,同时提到在SSD上创建虚拟机。为什么不装双系统呢?双系统性能应该会更好!采用Windows+虚拟机的方式,主要是考虑到安卓开发和日常办公两方面,Ubuntu下办公真的很不习惯,且Ubuntu装在虚拟机里迁移也非常方便。前文提到,原先本本并没有配SSD,虚拟机是创建在HDD上的,后来更换了SSD后,直接将虚拟机文件拷贝到SSD上,用很短的时间就完成了迁移,如果是双系统就不得不重新安装Ubuntu和开发工具了。虚拟机软件推荐使用VMWare Workstation 12 Pro,经实践证明它的性能已足够好,感觉唯一的Drawback就是磁盘性能方面,但差别也不太明显,CPU和内存的性能应该都没有损失多少。老邓最早安装的双系统,看文档代码、烧录和日常办公都非常不便,后来也改用Windows+虚拟机的方式。他做了仔细比较,在虚拟机中编译Android系统只比双系统的方式慢一点。如果是修改Linux底层驱动部分的代码,在虚拟机中编译并生成固件大概也只要5分钟左右,而在双系统下大概是4分钟左右。编译是慢了一点点,但工作效率却提高了很多,值得!
Ubuntu的版本选择也是以稳定可靠为主,不一定要用新版本,MTK官方推荐的是12.04 64位版,那就用这个版本好了。实践证明,RK3188 的Android4.4和MT8735的Android5.1编译都没有问题。Ubuntu的版本很关键,我们最初在服务器上搭建开发环境时碰到了N个问题,如GIT超慢、不支持磁盘阵列RAID5、必须使用光盘安装等等,现在说得像四两一样轻,当时可感觉有千斤重,一步一个坑。"The only source of knowledge is experience",实在是经典精辟!Ubuntu版本用对了,一切都顺了,这里推荐使用12.04 64位 Server版本。
VMWare很强大,支持自动安装Ubuntu,不过最好还是手动安装,可以自定义SWAP分区和ROOT分区的大小。SWAP分区最好还是有,如果物理内存很大,可以少搞一点,我分了4GB给它。老邓惜SSD,没有用SWAP分区,一般情况下没有问题,只偶尔编译Android系统时会无故出错,后来加了根8GB内存条就好了。
在虚拟机上安装好Ubuntu后,先配置网络,推荐使用NAT模式+静态IP,比桥接模式好,对网络环境无依赖,设置静态IP便于主机访问。我最早使用的是桥接模式,经常出状况,不太稳定。后来GYP说可以用NAT模式,果然,用了NAT以后,网络连接就再也没有出过问题。经验啊!
准备工作到此基本完成,接下来是干货。需要先说明的是,这些方法和步骤都是经验总结,不一定普遍适用,仅供参考。这个说明本身其实也是经验,因为我看很多别人写的文章都没有问题,但自己操作时却不行,后来发现因Linux和Android版本多,变化快,环境复杂多变,故没有绝对正确普适的解决方案,但可以借鉴其思路。故以下内容,我只能保证尽可能正确,如有不适,请指出。
1.安装ssh
查看ssh服务
ps -e | grep ssh
若只有ssh-agent一项服务,而没有sshd服务,则执行如下两行命令
sudo apt-get update
sudo apt-get install ssh
安装后增加了sshd服务
验证ssh服务
ssh hjb@192.168.81.129
退出登陆
exit
至此,可以通过Xshell远程登录Ubuntu。
Xshell是一款非常贴心好用的工具软件,Android开发必备!
后面所有操作都是在Xshell中进行,VMWare最小化放一边即可。
2.sudo无密码执行,取消sudo输入密码
执行命令
sudo visudo
文件末尾加上如下行
hjb ALL=(ALL) NOPASSWD: ALL
说明:需将hjb替换成特定的用户名
Ctrl-O 保存
Ctrl-X 退出
至此,执行sudo时无需再输入密码,省事不少
3.安装vim
sudo apt-get install -y vim
vim极简极强大,快捷键用法请参考,给程序员的VIM速查卡
4.安装samba并配置
sudo apt-get install -y samba samba-common
为samba用户设置密码
sudo smbpasswd -a hjb
说明:如果不设置密码,只能查看目录,不能写入文件
编辑samba的配置文件/etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
在该文件的末尾添加配置项
参考设置如下:
[Ubuntu]
path = /home/
available=yes
public=no
browseable=yes
writeable=yes
read only=no
重启samba服务
sudo service smbd restart
本机安装smbclient
sudo apt-get install smbclient
本机测试
smbclient -L //localhost/
说明:可在开发主机的Windows7系统里直接用\\192.168.81.129\ubuntu\hjb查看文件和代码,Source Insight里也一样,不必将目录映射成网络驱动器,否则Windows7开机启动时会有较长时间的黑屏,体验不好。
以上主要介绍了基于VMWare安装Ubuntu的好处,这也是单机搭建安卓开发环境,最重要的一点。ssh、vim、samba是基础服务和工具,无密码执行sudo则能有效提高工作效率。
因Xshell很常用,故给它分配了一个快捷键,这样可以很方便的随时呼出。方法如下,点击桌面Xshell图标——右键——属性——快捷方式——快捷键——Ctrl+Alt+X——确定,如下图所示,同理Android Studio可以分配Ctrl+Alt+A。此方法适用于日常使用频率较高的软件,避免频繁回到桌面或者从开始菜单点击启动,随按随到,方便高效。
单机搭建Android开发环境(二)的更多相关文章
- 单机搭建Android开发环境(三)
单机搭建Android开发环境,第一篇重点介绍了如何优化Windows 7系统,以提高开发主机的性能并延长SSD的使用寿命.第二篇重点介绍了基于VMWare安装64位版的Ubuntu 12.04,并安 ...
- 单机搭建Android开发环境(四)
单机搭建安卓开发环境,前三篇主要是磨刀霍霍,这一篇将重点介绍JDK.REPO.GIT及编译工具的安装,下载项目代码并编译.特别说明,以下操作基于64位12.04 Server版Ubuntu.若采用其他 ...
- 单机搭建Android开发环境(一)
老话,工欲善其事必先利其器.为了学习安卓系统开发,我下了血本,更换了电脑.俗语,磨刀不误砍柴工,好钢用在刀刃上,为了发挥新本的最大潜能,我花费了很长时间去做配置和优化,都感觉有点偏执了.不过,从到目前 ...
- 单机搭建Android开发环境(五)
前文介绍了Android系统开发环境的搭建,本文将简单介绍Android应用开发环境的搭建. 基于Android Studio搭建应用开发环境,相比使用Eclipse简单得多.Android Stud ...
- 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)
——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...
- Ubuntu 12.04 搭建Android开发环境
Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...
- 快速搭建Android 开发环境-使用ADT Bundle
一.搭建Android开发环境 近日要学Android开发基础,就着手搭建Windows下的Android开发环境. 找了一些相关的博文参考,基本上都是要分别下载和安装JDK, Eclipse, An ...
随机推荐
- Slideout.js – 触摸滑出式 Web App 导航菜单
Slideout.js 是为您的移动 Web 应用开发的触摸滑出式的导航菜单.它没有依赖,自由搭配简单的标记,支持原生的滚动,您可以轻松地定制它.它支持不同的 CSS3 转换和过渡.最重要的是,它只是 ...
- [deviceone开发]-仿微信主界面示例
一.简介 模仿微信主界面的4个页面,作为一个很常规应用的框架模板,值得参考.另外包括简单的菜单,其中搜索还支持语音录入,不过你需要增加飞讯的语音组件重新打包,才能看到效果 二.效果图 三.相关下载 h ...
- Icon Font浅谈
这周继续在弄hybird app 的 UI框架的重构,进行到了编写换肤功能的阶段,而在做换肤之前,我想应该先弄一套框架内置的图标. 而图标无非就是两种做法: 1.图片 使用图片很正常,但是有缺陷的. ...
- Struts2详细教程
Struts2详细教程:http://www.yiibai.com/struts_2/
- 在ArcGIS中如何进行POI点抽稀
对POI点添加权重等级类型信息.例如添加短整形字段Weight,并根据业务逻辑设置不同种类的POI的权重值,如分5类,0代表重要性最低的POI,4代表重要性最高. 在ArcMap的标注管理栏中,设置使 ...
- SharePoint 解决打开浏览器自动登录
SharePoint使用Windows身份验证,默认会弹出Windows验证登录框,如下图所示: 1.对于已经加域的客户端 IE安全设置,将站点加信任站点,然后修改信任站点安全设置, 滚动条拉到最后, ...
- Android存储访问及目录
Android存储访问及目录 Android的外部存储 Android支持外部存储(case-insensitive filesystem with immutable POSIX permissio ...
- android加固系列—2.加固前先要学会破解,调试内存值修改程序走向
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5138585.html] 因公司项目需要对app加固,经过本人数月的研究,实现了一套完整的仿第三 ...
- IDA在内存中dump出android的Dex文件
转载自http://drops.wooyun.org/tips/6840 在现在的移动安全环境中,程序加壳已经成为家常便饭了,如果不会脱壳简直没法在破解界混的节奏.ZJDroid作为一种万能脱壳器是非 ...
- iOS-多线程--介绍NSOperration
一个NSOperation对象就代表一个操作,对象相当于GCD中的block. 一.NSOperation的作用: 配合使用NSOperation和NSOperationQueue也能实现多线程. 二 ...