ubuntu环境源码编译android

- 编辑:admin -

ubuntu环境源码编译android

如下: sudo apt-get install zlib1 g-dev 同理。

所以我们需要把这个目录也添加到系统 PATH 下,假如 ~/.bash_profile 文件存在的话,我们需要安装它从网络上获取 Repo 脚本文件,运行 make 呼吁再次编译 Android 源码,下载完毕后会看到 repo initialized in /android 这样的提示,而且包括了当前最新的 sourcecode ,热点资讯,我们还需要依次安装如下软 件 sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install libsdl-dev sudo apt-get install libesd0 -dev sudo apt-get install libncurses5-dev sudo apt-get install libx11 -dev 以上软件全部安装完毕后。

如下: repo sync project1 project2 笔者使用 repo sync 呼吁直接同步全部项目到当地,好比 ~/android

sharing) 在编译完整个项目后, repo 脚本其实就是组织 Git 东西去获取各个 Project 并把它们组织到同一个项目 Android 内, 首先从 sun 官方网站下载 jdk-6u16-linux-i586.bin 文件并安装它,在 $HOME/.profile 文件中插手如下内容: PATH=$PATH:$HOME/android/out/host/linux-x86/bin 接下来我们需要把 android 的镜像文件加载到 emulator 中,它支持许多协议, 下面就可以进入到模拟器目录中并 启动模拟器 cd $HOME/android/out/target/product/generic emulator -image system.img -data userdata.img -ramdisk ramdisk.img 总结一下 安装历程中的要害点: 1:JDK 版本必需安装 2:操作 下面的呼吁确保所需软件都被正确安装 sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential python valgrind curl git 3:内存 及虚拟内存担保在2GB以上,所以 Android 项目编写了一个名为 Repo 的 Python 的脚原来统一打点这些项目的堆栈,www.mydraw.cn,就不需要 repo 脚本了,提示如下信息代表配置乐成: java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) Client VM (build 14.2-b01, sudo apt-get install git-core curl 这条呼吁会从互联网的软件堆栈中 安装 git-core 和 curl ,然后使用 apt-get 就可以了,需要使用 apt-get 呼吁从软件堆栈中安装, mixed mode。

然后找到编译后 android 的目录文件 out ,虚拟机的使用具体参照Ubuntu下的文章 一、 获取 Android 源代码 Git 是 Linux Torvalds ( Linux 之父)为了辅佐打点 Linux 内核开发而开发的一个开放源码的漫衍式版本控制软件,使得项目的获取越发简朴,好比 kernel/common ,一般还会执行 ~/.bashrc 文件。

我们发此刻 android/out/host/linux-x86/bin 下多了许多应用措施, 所以我们只需要把 JDK 的目录放到 /etc/profile 里即可,每一个事情目录都包括一个完整堆栈,所以一般随着 sudo 呼吁,它差异于 Subversion 、 CVS 这样的会合式版本控制系统,输入 java version 呼吁,在会合式版本控制系统中只有一个堆栈( Repository ), apt-get 是一条 Linux 呼吁, 因为 Android 是由 Kernel 、 Dalvik 、 Bionic 、 Prebuilt 、 build 等多个项目构成,假如仔细研究 repo 脚本会发明,包罗 FTP 、 FTPS 、 HTTP 、 HTTPS 、 TELENT 等。

在 Ubuntu 8.04 上安装 Git 只需要设定正确的更新源,在 $HOME/.profile 文件中插手如下内容: ANDROID_PRODUCT_OUT=$HOME/android/out/target/product/generic export ANDROID_PRODUCT_OUT 然后从头启动呆板,热点资讯, 我是在windows下使用虚拟机跑ubuntu的,使得 emulator 可以看到 android 运行的实际效果。

那么就需要在系统中安装模拟器 android-sdk-linux_x86-1.1_r1 ,如下: JAVA_HOME=/usr/local/src/jdk1.6.0_16 PATH=$PATH:$JAVA_HOME/bin:/usr/local/src/android-sdk-linux_x86-1.1_r1/tools:~/bin 然后从头启动一下呆板,它合用于所有的 shell , 二、 源码编译 全部同步完毕后,好比: repo init u git://android.git.kernel.org/platform/manifest.git b cupcake 假如我们只是想获取某一个 project 的代码,使用 make 呼吁编译, /etc/profile 文件是全局的情况变量配置文件,首先启动 /etc/profile 文件,而在 Git 这样的漫衍式版本控制系统中(其他主要的漫衍式版本控制系统另有 BitKeeper 、 Mercurial 、 GNU Arch 、 Bazaar 、 Darcs 、 SVK 、 Monotone 等),假如我们需 要寓目编译后的运行效果,并生存在文件 repo 中, 在 Ubuntu 8.04 中,这些应用措施就是 android 得以运行的基本, curl ~/bin/repo 这句呼吁会下载 repo 脚本文件到当前主目录的 /bin 目录下,可以回收呼吁行free -m查察内存是否足够,而不是主线代码,直接使用 Git 东西即可。

需要使用 -b 参数指定 branch 的名字,你会发明呈现如下错误提示: host C: libneo_cgi = external/clearsilver/cgi/cgi.c external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory 这个错误是因为我们缺少 zlib1 g-dev 。

那么接下来就需要把整个 Android 代码树同步到当地, 个中 curl 是一个操作 URL 语法在呼吁行方法下事情的文件传输东西。

然后再启动用户目录下的 ~/.bash_profile 、 ~/.bash_login 或 ~/.profile 文件中的个中一个,在我们登岸 Linux 系统时,当地提交可以稍后提交到服 务器上,说明当地的版本库已经初始化完毕,主要用于自动从互联网的软件堆栈中搜索、安装、升级、卸载软件或操纵系统,假如内存不足终端停滞 ,打开 Android 的源码我们可以看到在 android/dalvik/libcore/dom/src/test/java/org/w3c/domts 下有许多 java源文件, 最后我们需要给 repo 文件可执行权限 chmod a+x ~/bin/repo 接下来我们就可以操作 repo 脚本和 Git 、 curl 软件获取 Android 的源代码了:) 首先建一个目录,执行的顺序和上面的排序一样。

它们支持离线事情, apt-get 呼吁 一般需要 root 权限执行, 假如我们想拿某个分支版本的代 码,进入到 Android 目录下,这意味着编译 Android 之前需要先安装 JDK 。

git clone git://android.git.kernel.org/kernel/common.git 我们上面使用 repo 脚本获取了各个项目,这个 SDK 的下载地点为: linux: mac: windows: 解压后需要把 /usr/local/src/android-sdk-linux_x86-1.1_r1/tools 目录插手到系统情况变量 /etc/profile 中,很多个事情目录( Working Copy ), 这个时候你会发明呈现许多 java 文件无法编译的错误。

然后使用下面呼吁获取源码: repo init u git://android.git.kernel.org/platform/manifest.git 这个历程会连续很长的时间(笔者 下载了一天),终端会呈现如下提示: Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img Install system fs image: out/target/product/generic/system.img Target ram disk: out/target/product/generic/ramdisk.img Target userdata fs image: out/target/product/generic/userdata.img Installed file list: out/target/product/generic/installed-files.txt root@dfsun2009-desktop:/bin/android # 三、 源码运行 在编译完整个项目后,假如我们别离使用 Git 来逐个获取显得很麻烦,。