最近工作原因,需要做android x86方面的移植 (arm->x86), 现将期间的过程及遇到的问题汇总,希望可以帮助和我一样曲折中前行的同学。
环境介绍:
1. ubuntu 8.04 : 其他人可能有更新的版本,我自己用的是8.04
2. vmware :虚拟机
3. 网络环境
准备工作:
1. 在vmware 上安装ubuntu 8.04 这个网上教程很多,不赘述
2. 为ubuntu配置部分开发工具,可以参照http://source.android.com/source/initializing.html
ok,进入关键的几步:
1. 安装curl 这个可以用apt-get 也可以去网上下载curl.tar包,建议后者,下载最新curl包,解压后,在解压文件夹执行
./configure --with-ssl
make
make install
为什么要加入 --with-ssl, 因为后面要支持https
2. 更新python、更新git 方法基本同curl
3. 下载repo,curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo
其中1.19可能随时会更新,可以访问:https://code.google.com/p/git-repo/ 查看最新版本
4.
$ PATH=~/bin:$PATH
$ chmod a+x ~/bin/repo
$mkdir android-x86xxxxxxxxx // 创建你的源码目录
$ cd android-x86xxxxxx // 进入源码目录
5. 接下来参考 :http://www.android-x86.org/getsourcecode
这里要注意的是:$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/x86/platform/manifest.git -b $branch
这条命令经常会报错,如下有针对的解决办法,请尝试:
a. 语法错误1:./bin/repo: 行 1: 未预期的符号 `newline' 附近有语法错误
./bin/repo: 行 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'
>> >这里一般是由于你curl 下载不到正确的repo所致,可以 $vim ~/bin/repo 打开repo看看内容就知道了
b. 语法错误2:SyntaxError: invalid syntax
>>>该错误一般是由于python解析出错,更新python可以解决(我目前版本是python 2.7.3)
c. repo错误:
IOError: [Errno 2] No such file or directory: '/home/androidcode/.repo/manifests/.git/HEAD'
>>>删除本地的 .repo , $rm -r .repo 这里要注意的是,往往是由于你curl到的是一个不正确的repo,请检查curl步骤
d. ....
e. fatal: Cannot get http://gerrit.googlesource.com/git-repo/clone.bundlefatal: error unknown url type: https
>>> apt-get install libssl-dev openssl 下载更新libssl-dev openssl
f. repo init -u后timeout :打开repo文件,修改其中的http://gerrit.googlesource.com/git-repo为:https://code.google.com/p/git-repo
g. 406错误一般是由于你的repo与这里的init的地址不对应,参考上面的内容,修正curl后面的地址值或者repo init的地址值 找到匹配的