本文记录安装ubuntu过程及遇到的问题,为以后做参考。
一。环境与准备:
1.电脑配置
电脑型号 微星 MS-7597 台式电脑
操作系统 Windows XP 专业版 32位 SP3 ( DirectX 9.0c )
处理器 AMD Athlon(速龙) II X2 240 双核
主板 微星 GF615M-P33 (MS-7597) (Nvidia nForce 430(MCP61))
内存 4 GB ( 金士顿 DDR3 1333MHz / 宇瞻 DDR3 1333MHz )
主硬盘 西数 WDC WD1600AAJS-00B4A0 ( 160 GB / 7200 转/分 )
显卡 Nvidia GeForce GTS 450 ( 256 MB )
显示器 默认监视器
声卡 瑞昱 ALC888 @ Nvidia nForce 430(MCP61) 高保真音频
网卡 NVIDIA nForce Networking Controller
2.ubuntu安装镜像
ubuntu的下载地址:
http://www.ubuntu.com/download/desktop
我开始安装的版本是 ubuntu-12.04.1-desktop-i386.iso
这里出了问题,我没有仔细阅读安卓网站说明,有这样一句话:
“For Gingerbread (2.3.x) and newer versions, including the master branch, a 64-bit environment is required. Older versions can be compiled on 32-bit systems.”
这个i386是32位的,到后面编译android会报错:You are attempting to build on a 32-bit system. 导致又花费不少时间重装系统。
正确的作法是下载64位版本安装:ubuntu-12.04.1-desktop-amd64.iso
3.虚拟机
使用的虚拟机是: VMware-workstation-full-9.0.0-812388,下载地址百度。
二。安装双系统的尝试:
首先想安装双系统,最终放弃了,不过也总结下遇到的问题。
第一个问题:使用webi安装,在windows界面长时间等待下载安装包(其实安装包已经有了)。
解决办法,有两种:
- 使用参数指定安装包路径:wubi.exe --dimagepath=c:\ubuntu-12.04-wubi-amd64.tar.xz
- 把webi.exe单独和安装ISO镜像放到同一个根目录
第二个问题: 从windows重启,进入启动菜单后显示器黑屏,显示“超频”两个字
解决办法:
我的电脑有两个显卡,主板自带的显卡和独立显卡,如果拔掉独立显卡,使用主板自带的显卡启动,问题解决,可以进入ubuntu安装界面。
第三个问题:unbuntu安装完成后没有显卡驱动,显示器分辨率不正确,显示效果不佳。
这个问题最终没有解决,导致我放弃双系统的安装方式。
不过进行了如下尝试:
1. 使用ubuntu的 Additional Drivers安装工具,结果这个工具一点击打开就报错,无法安装:
2. 在终端使用
“
sudoapt-get install nvidia-current
”命令安装驱动,安装可以完成,但是重启后,进入ubuntu桌面,只看到墙纸,看不到任何图标,系统无法使用,
只能通过alt+ctrl+t调出终端,“sudoapt-get remove nvidia-current”删除驱动,进行还原
3. 重新安装64位的ubuntu系统,这个时候可以通过 Additional Drivers安装工具安装N卡驱动,尝试安装后,和上面使用
“
sudoapt-get install nvidia-current
”安装效果一样。
最终放弃安装双系统。
三。安装ubuntu虚拟机
然后使用虚拟机安装ubuntu:
第一个问题:安装的时候会有个阶段长时间等待显示“Retrieving file。。。。”,
解决办法,这个时候双击进度条,就是出现过程控制台和一个skip按钮,点击跳过即可。
第二个问题:安装后发现硬盘设置不对,20G太小了。于是重新安装,选择更大的硬盘,这里出现了问题,ubuntu安装设置硬盘分区的时候让你选择单个文件还是多个文件 方式。
我首先选择分区大小70G,多个文件方式安装,安装完成后发现系统不稳定,很容易死机,反复检查硬盘然后重新安装,问题依旧。
然后我又选择单文件方式,分区大小设为64G(因为查到我的硬盘NT文件系统,最大支持文件大小为64G)安装系统,问题依旧。
解决办法:
最后还是以小的多文件分区方式(15G)安装系统盘,另外的工作盘空间准备另开一个大分区mount后使用。
最终使用VMware以较小分区的方式安装ubuntu,系统就工作正常了。目前还不知道具体是哪方面的原因造成大分区方式的问题。虚拟安装有很多好处。 简单的说就是:一台电脑可以同时当两台用,两个系统之间可以同时交互数据。工作的时各取所长,很方便,而且进行android开发使用虚拟方式足够了。
四。下载andriod源码包
系统安装好后,开始安装android开发软件,及下载android源码,具体步骤安卓网站有详细介绍:
其中:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" 这一行要修改
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
JDK网站不对,需要自己安装1.6SE版本,参考
要注意一点,就是最后的步骤repo init将会耗费大量时间,我使用这个方式期间终端了无数次,下了3天也没有下完,所以不推荐使用repo从安卓网站下载。
最后跳过repo sync这一步,直接下载了一个源码包版本:
android-4.2_r1-20130127.tar.bz2
五。设置虚拟机与windows之间的共享。
android源码包是在windows里面下载,需要传送到ubuntu虚拟机,怎么传呢?
第一种解决方式:利用VMware提供的共享方式。
打开VMware上的ubuntu虚拟机设置页面,点击“Edit virtual machine settings”->"Options"->"shared Floders"
即可添加一个windows主机上的目录,提供给ubuntu虚拟机共享访问。
设置好后ubuntu 通过“/mnt/hgfs/ ” 可以直接访问这个目录。
第二种解决方式:samba共享
1。安装软件
sudo apt-get install samba
sudo apt-get install smbfs
遇到问题:安装过程中提示有依赖组libwbclient0建正在安装的错误:
samba : Depends: samba-common(= 2:3.6.3-2ubuntu2) but2:3.6.3-2ubuntu2.3 is to be installed
Depends: libwbclient0 (= 2:3.6.3-2ubuntu2)but 2:3.6.3-2ubuntu2.3 is to be installed
解决方法
sudo apt-get remove samba-common
sudo apt-get remove libwbclient0
删掉以后再执行前面的安装命令
2。设置共享目录权限
sodu chmod
777
/
home
/YOUSHARE -R # "/home/YOUSHARE" 是已存在的需要共享的目录 -R 把子目录权限也一起设了
3。修改共享配置文件,
sudo gedit
/
etc
/
samba
/
smb.conf
新增
[share]
path = /home/
YOUSHARE
available = yes
browsealbe = yes
public = yes
writable = yes
4。创建samba账户
sudo smbpasswd -a usrname #usrname 必须是系统用户
5。启动、重启 samba服务
sudo service smbd start
sudo service smbd restart
这个是错误的用法:
/etc/init.d/samba restart 会提示失败
6。从主机访问samba共享
使用
ifconfig 查询虚拟机在局域网中的IP地址
在windows地址栏输入\\ip地址\ 即可看到共享目录
六。挂接工作分区
现在系统盘太小了,需要开辟一个大的分区用于android开发。
1。关闭虚拟机。
2。通过VMware的 “Edit virtual machine settings”->"Hardware"->"add"一个新的硬盘。(默认设置)
3。在虚拟机里面
a.找到新建的分区名: sudo fdisk -l
b.创建分区:sudo fdisk /dev/sdb
(依次选择n ,e extern分区,其他默认设置,最后w保存退出)
c.格式化文件系统:sudo mkfs -t ext4 /dev/sdb
d.把分区挂到目录: sudo mount -t ext4 /dev/sdb /home/android
# “/home/android/ ”是已有的空目录
sudo mount -t ntfs-3g /dev/sdb1 /home/android -o force
#挂为NTFS格式,方便windows读取
e:把远程windowds的共享目录挂接为工作分区(需要sudo apt-get install smbfs):
sudo mount -t smbfs -o username=administrator,password=mypasswd
,iocharset=utf8 //192.168.0.102/ubuntu /home/winshare
如果要每次开机自动挂载这个分区,则修改文件:
sudo gedit /etc/fstab
新增一行到最后:
/dev/sdb /home/android ext4 defaults 0 1
/dev/sdb1 /home/android ntfs-3g defaults,force 0 0
//192.168.0.102/ubuntu /home/winshare smbfs username=administrator,password=mypasswd ,iocharset=utf8 0 0
4。完成后通过命令
df
可以查看分区状态:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 15134400 2813308 11561696 20% / #这个是我的系统分区,大小 15G
udev 772280 4 772276 1% /dev
tmpfs 311828 940 310888 1% /run
none 5120 0 5120 0% /run/lock
none 779568 152 779416 1% /run/shm
/dev/sdb 57560812 978168 53699060 2% /home/android #这个是第二个分区,大小55G
.host:/ 77834892 16428472 61406420 22% /mnt/hgfs #这个是windows的共享分区。
至此大功告成,ubuntu上的android开发环境已经准备好了:)