前文介绍了如何优化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开发环境(二)相关推荐

  1. 单机搭建Android开发环境(五)

    前文介绍了Android系统开发环境的搭建,本文将简单介绍Android应用开发环境的搭建. 基于Android Studio搭建应用开发环境,相比使用Eclipse简单得多.Android Stud ...

  2. 在Windows环境下搭建Android开发环境

    标题:在Windows环境下搭建 Android 开发环境 作者:CrazyPebble 时间:2011年2月28日 声明:此文在参考其他网上资料以及笔者实践总结写下,一来自己可以做一些总结,二来给跟 ...

  3. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢. 一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装androi ...

  4. Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)...

    原地址:http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html 一.搭建Android开发环境 准备工作:下载Eclipse ...

  5. 搭建Android开发环境

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1. ...

  6. 使用R7版NDK搭建Android开发环境[不使用Cgywin]

    废话不多说,只说几句. 写这个的初衷是因为公司的项目需要,领导要求我搭建一个Android的开发环境(Eclipse + NDK),我算上找资料,下载,安装,配置环境及写文档,正好用了一个工作日.先把 ...

  7. ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk

    [置顶] ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk.jdk(by 星空武哥) <div class="article_manage c ...

  8. 搭建android开发环境,android studio + Genymotion

    刚开始学习android,记录下自己的学习过程,期望和大家一起学习.进步 既然要学习android开发,首要之事就是搭建android开发环境,以前的android的开发环境都是eclipse+and ...

  9. Ubuntu 11.04上搭建Android开发环境

    本文给大家讲解下如何在Ubuntu 11.04环境下使用Eclipse, Android SDK和 PhoneGap搭建Android开发环境. #1,安装Eclipse 和 Android SDK/ ...

  10. android开发java环境_搭建Android开发环境 - Android - mobile - JavaEye论坛

    Android的开发现在是如火如荼,逞现在不是很忙了,学习了下,这里记录下了在windows在如何搭建Android开发环境,对自己是个记录,对新入门的兄弟姐妹们可以参考一下! (1)安装JDK,省略 ...

最新文章

  1. sublime3(anaconda) 无法自动补全第三方模块
  2. linux bash脚本编程知识点
  3. node.js 执行php,node.js - 如何利用php执行nodejs文件
  4. org.apache.kafka.common.errors.TimeoutException: Topic not present in metadata 解决方法
  5. 分治法在排序算法中的应用(JAVA)--快速排序(Lomuto划分、Hoare划分、随机化快排)
  6. 窃取任意GitHub Actions敏感信息如此简单,只需要分支改个名?
  7. python 进度条_2019年的代码都写完了吗?不如做个Python进度条看看还剩多少
  8. EmEditor中正则表达式
  9. mysql控制文件位置_重建控制文件
  10. ichart.js绘制虚线 ,平均分虚线
  11. 【Android智能硬件开发】【004】通过PackageInstaller静默安装apk
  12. mame0.239选定系统所需要的ROM/磁碟映像档为缺少或不正确
  13. 这个超级好哎 vector 容器的 怕失效
  14. 小学计算机走进智慧城堡教案,重庆大学出版社四年级上册信息技术教案设计.docx...
  15. 关于EVE模拟器思科交换机无法启动问题
  16. 【Java常用类】Instant:瞬时
  17. PS|002自制夸张表情包
  18. android usb卸载不了,Android 安全卸载U盘的方法
  19. 如何改变图片的像素大小
  20. 一文让你彻底了解多线程

热门文章

  1. java vector 实现二维数组
  2. android内存泄露问题分析,内存泄露实例分析 -- Android内存优化第四弹
  3. oracle中表为啥会死锁,Oracle数据表中的死锁情况解决方法
  4. node mysql gbk_nodejs gb2312、GBK中文乱码解决方法
  5. 关于前端的margin
  6. 渴望成为架构师的你,或许需要与这些大咖来一场面基
  7. 使用openssl库实现des,3des加密
  8. 美人计--图片asp木马
  9. 做人好难,做好人更难,还是做猪吧!
  10. memcpy( )函数复制二维数组 memcmp( )函数比较二维数组