Ubunut 12.10 64位编译 android 4.2.1_r1 源代码

标签: ubunut 编译 android | 发表时间:2013-01-22 10:20 | 作者:双鱼座的程序员
出处:http://www.cppblog.com
google推荐的编译环境是在Ubuntu LTS(10.04),但是最新版本12.10已经出来,没必要在旧版本上做文章了
对于2.3.X和更新的版本,需要64位的系统,之前的老版本2.2以下(包括2.2)可以在32位版本上编译
对于虚拟机,官网上写的虚拟机配置参数:16G RAM/swap & 30G+ 硬盘空间
PS: 全部编译完毕后,才发现真的很耗空间
源代码下载/编译完成后,磁盘空间一共是33G
$ du -h --max-depth=1 ./4.2/
4.2M    ./4.2/bootable
120K    ./4.2/libnativehelper
282M    ./4.2/packages
88M    ./4.2/development
1.6G    ./4.2/external
19G    ./4.2/out
53M    ./4.2/hardware
18M    ./4.2/bionic
9.1M    ./4.2/system
138M    ./4.2/cts
336K    ./4.2/pdk
116K    ./4.2/abi
5.1M    ./4.2/gdk
40M    ./4.2/libcore
1.2G    ./4.2/frameworks
4.9M    ./4.2/build
34M    ./4.2/tools
2.4G    ./4.2/prebuilts
43M    ./4.2/device
7.5G    ./4.2/.repo
55M    ./4.2/sdk
5.9M    ./4.2/docs
41M    ./4.2/dalvik
31M    ./4.2/ndk
33G    ./4.2/

言归正题,按照官网的文档,安装所需要的工具
Python 2.5 -- 2.7, 下载地址 python.org
GNU Make 3.81 -- 3.82, 下载地址 gnu.org
JDK 6 :2.3以上的版本; JDK 5 2.2和2.2以下的版本. 下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
Git 1.7 以上. 下载地址 git-scm.com.
前两条Ubuntu 12.10系统自带(新系统的好处),git后面会通过安装必须包来安装,所以只需要我们手动安装JDK

安装必要的编译工具包

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
PS: 后来发现这里可以选择不安装openjdk。android生成主要用到的是 jdk1.6
安装JDK 1.6.0

1.下载
2013-1-22,当前最新版本是 1.6.0_38
http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html
这里请选择64位的linux版本,对应的下载文件名:jdk-6u38-linux-x64.bin.
2.安装
修改文件权限,复制到/usr/lib/jvm,安装
chmod a+x jdk-6u38-linux-x64.bin
sudo mv jdk-6u38-linux-x64.bin /usr/lib/jvm
cd /usr/lib/jvm
sudo ./jdk-6u38-linux-x64.bin
安装后,在/usr/lib/jvm上会多出一个目录(jdk1.6.0_38),其实执行.bin文件感觉就是一个解压文件
3.环境配置

修改/etc/profile文件
export JAVA_HOME="/usr/lib/jvm/jdk1.6.0_38"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=".:$JAVA_HOME/bin"
建议重启或注销一下系统,让配置生效~~~
此时输入: java --version查看一下版本
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
如果系统中有时候会安装openjdk,我们还需要修改一下java的默认程序,让他使用jdk1.6.0进行android编译
安装java/javac/jar,执行如下命令:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_38/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_38/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_38/bin/jar 300

执行后这三个命令,网上的资源说可以自动切换到jdk1.6.0_38,但是我配置的时候不行,可能再通过下面这三个命令,手动指定了
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

代码下载:

下载repo,初始化下载环境,repo配置,同步
$ mkdir ~/bin  
$ PATH=~/bin:$PATH 
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo 
$ mkdir ~/android/sources
$ cd ~/android/sources
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.1_r1
$ repo sync

下载是个漫长的过程,我的机子一个周末开着下载~~~good lucky~~~

编译代码:

初始化脚本, make编译
$ source build/envsetup.sh
$ lunch full-eng
$ make -jN

这里的三个命令参考官方的文档,官网上说明很详细。特别是第二条命令的参数,你想生成什么样的配置,就设定什么样的参数
http://source.android.com/source/building.html

运行emulator

编译成功后,运行模拟器
$ emulator
模拟器就运行起来了。。。


本文链接

相关 [ubunut 编译 android] 推荐:

Ubunut 12.10 64位编译 android 4.2.1_r1 源代码

- - C++博客_首页
google推荐的编译环境是在Ubuntu LTS(10.04),但是最新版本12.10已经出来,没必要在旧版本上做文章了. 对于2.3.X和更新的版本,需要64位的系统,之前的老版本2.2以下(包括2.2)可以在32位版本上编译. 对于虚拟机,官网上写的虚拟机配置参数:16G RAM/swap & 30G+ 硬盘空间.

android apk反编译

- - CSDN博客推荐文章
3.查看Jar包的GUI工具. apk文件其实就是一个MIME为zip的压缩包,可以用winrar软件打开看到里面的文件结构. 解压缩后找到里面的classes.dex文件,classes.dex文件就是java文件编译再通过Dalvik须立即提供的dx打包工具打包而成的,接下来就用2个工具来逆向导出java源文件.

Android APK反编译详解(附图)

- jason - iGFW
一、反编译Apk得到Java源代码. 首先要下载两个工具:dex2jar和JD-GUI. 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码. 首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;解压下载的 dex2jar,将classes.dex复制到dex2jar.bat所在目录.

在Ubuntu上编译Android Gingerbread 2.3.1

- MorrisC - 易水博客
前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过. 这篇文章简要记录了下载、编译的过程. 关于搭建Android开发环境的文章已经有很多,本文只简要介绍一下,做为备忘. 这一步安装获取源代码以及编译所需要的软件,使用如下命令:. 另外,参考别人编译Android 2.3的经验,安装了下列软件包:.

ubuntu 11.04 32位编译android 4.0.3

- - CSDN博客推荐文章
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明. 这里只是记录一些日志,难免有些错误,欢迎批评指正. 这里我下载4.0.3 的源码:. 下载的速度看个人的网络,这里我下了一天一夜. 下载好之后就可以直接make -j4编译了,编译的时候用个大概3个小时,如果按照以上两个连接编译的话,除了内存不够之外的应该没有什么问题,这里我遇到的是就是内存不够.

Android Killer--安卓反编译工具

- - CSDN博客推荐文章
一个朋友写的工具,挺方便好用,发到此处,留给新手同学们学习使用. Android Killer 是一款可视化的安卓应用逆向工具,集Apk反编译、Apk打包、Apk签名,编码互转,ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一 身,支持logcat日志输出,语法高亮,基于关键字(支持单行代码或多行代码段)项目内搜索,可自定义外部工具;吸收融汇多种工具功能与特点,打造一站 式逆向工具操作体验,大大简化了用户在安卓应用/游戏修改过程中的各类繁琐工作.

Windows平台上编译OpenCV的Android版本

- Pei - C++博客-首页原创精华区
Android NDK(r5b或更高版本). 在opencv\android\scripts\目录下,新建wincfg.cmd文件. 关于wincfg.cmd文件的配置,可以参考opencv\android\scripts\wincmd.cfg.tmpl文件. 编译完成即可在opencv\android\build目录下得到所有的静态库文件.

Android 4.0编译源代码需要16GB内存

- coofucoo - Solidot
新一代的智能手机也许更轻更小巧,但它们的操作系统则走向另一个极端. Android 4.0 Ice Cream Sandwich(ICS)编译源代码将需要工作站内存不低于16GB,是编译Gingerbread的两倍. 如果开发者想编译ICS,他需要准备:单次构建需25GB空间,同时编译所有AOSP(Android Open Source Project)配置需要80GB空间,16GB以上内存,在二个四核处理器2.4GHz机器上完成单次构建需5+小时CPU时间,经过时间(wall time)25+分钟.

Android源码下载以及编译自己的ROM

- UnderSn0w - 博客园-首页原创精华区
最近发现kernel.org被墙了,为什么这种网站也能被墙了. 要想下载源码的话,只能绕过去了. 下面是我从网上搜索到的一些下载方法;. kernel.org无法访问导致android的源码无法下载,这是另外一个git服务器的android源码的repo文件. $ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //获取repo.