源码初窥

(一)ubuntu上下载Android 源码

1.下载virtualbox 官网下载地址

2.下载ubuntu 官网desktop下载地址

3.使用virtual安装ubuntu镜像

1.安装过程请先断开网络,避免下载语言包

2.请划出100G的磁盘空间,源码很大的

3.请划出2-3G的内存,虚拟机不会太卡

4.新装完的分辨率可能为不正常的640x480,请输入以下命令

sudo apt-get install virtualbox-guest-dkms

5.若提示没有以上软件包,请点击系统设置-->软件与更新-->其他软件-->勾选Canonical合作伙伴(两个选项都勾)然后输入以下命令

sudo apt-get update

sudo apt-get install virtualbox-guest-dkms

6.重启ubuntu分辨率正常

7.下载sun-java6 具体参考本链接进行下载

8.安装git

sudo apt-get install git-core gnupg

9.安装其他依赖包

 sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl

10.安装调试工具

sudo apt-get install valgrind

11.配置google hosts,获取google hosts,使用以下命令修改hosts

sudo gedit /etc/hosts (将hosts复制粘贴上去)

sudo /etc/init.d/networking restart

12.按以下链接进行下载官方源码下载指引


(二)编译源码

1.若想查看可切换分支通过以下命令

cd .repo/manifests
git branch -a | cut -d / -f 3

2.切换到可用的分支,可通过以下命令

repo init -b android版本号

repo sync

3.使用make进行编译

4.若JDK为OpenJDK,或者出现版本不对请参考此链接ubuntu配置jdk

5.若一直出现prebuilt.mk *** recipe commence before first targe,那是因为使用了错误GNU make版本,

make -version //查看当前make版本,若不为3.81-3.82则得重新配置

通过GNU各版本下载 获取所需版本make,按照INSTALL文件指示,完成安装

6.若出现make: *** [out/host/common/obj/JAVA_LIBRARIES/apicheck_intermediates/javalib.jar] Error 127

则表示make过程找不到jar,其所需地址为/usr/bin/jar

通过软链接来使用忆有的jar(jar可以在jdk目录下bin文件中找到)

sudo ln -s -f /usr/lib/jvm/jdk1.6.0_45/bin/jar(按自身情况更改后边的目录

出现make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver-jni_intermediates/org_clearsilver_HDF.h] 错误 127(少配了javah)

make: *** [out/target/common/docs/doc-comment-check-timestamp] 错误 45(少配了javadoc)

其他java问题若出现都可以上方法解决(java ,javac, javah, javadoc)

7若出现make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1

sudo apt-get install libc6-dev-i386

(出现依赖错误,可切换到main server再apt-get update后重新apt-get install)

8若出现make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o] 错误 1

些为gcc版本过高,要降级,参考安装gcc&g++-4.4

9 make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] 错误 1

sudo apt-get install lib32z1-dev

10make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

sudo apt-get install lib32ncurses5-dev

11make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.o] Error 1

添加#include <sys/resource.h> 到 dalvik/vm/native/dalvik_system_Zygote.cpp

12 make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libext4_utils_intermediates/output_file.o] 错误 1

由于系统的文件换了位置, 此时需要将/usr/include/x86_64-linux-gnu/zconf.h 拷贝到上级目录,此时编译才通过
13 make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h]
sudo apt-get install libswitch-perl
13 编译好后运行emulator
source build/envsetup.sh
lunch
1
emulator
14若出现SDL init failure, reason is: No available video device
参考 http://stackoverflow.com/questions/23182765/how-to-install-ia32-libs-in-ubuntu-14-04-lts-trusty-tahr





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值