ubuntu13.04 Android4.0.3编译环境搭建与编译过程+later_add跟踪报告
来源:互联网 发布:mysql注入语句大全 编辑:程序博客网 时间:2024/06/05 06:41
主机--》软硬件参数如下图所示
android4.0.3源码来源:官方下载
系统刚刚安装完毕,下面是对系统所做的相关部署,有些步骤与android编译环境搭建无关,仅仅是记录流程
1,java1.6.0_30部署
---下载jdk安装包:jdk-6u30-linux-x64.bin
---将其拷贝到 /usr/lib/jvm/ 目录下(相关目录自行创建)
sudo cp /home/luosuo/Downloads/jdk-6u30-linux-x64.bin /usr/lib/jvm/
---进入/usr/lib/jvm--》增加文件jdk-6u30-linux-x64.bin可执行权限
sudo chmod +x jdk-6u30-linux-x64.bin
---安装
sudo ./jdk-6u30-linux-x64.bin
---在/etc/environment文件中增加相关记录(这要小心,本人就是因为这个搞错了,导致开机出问题,重装了至少3遍系统后才明白这个问题)
下面是我的/etc/environment文件内容,直接贴在这儿了
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.6.0_30/bin:/usr/lib/jvm/jdk1.6.0_30/jre/bin"CLASSPATH="/usr/lib/jvm/jdk1.6.0_30/lib"JAVA_HOME="/usr/lib/jvm/jdk1.6.0_30"---测试部署是否正确
$source /etc/environment$java -versionjava version "1.6.0_30"Java(TM) SE Runtime Environment (build 1.6.0_30-b12)Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)
2,arm-linux-gcc部署
文件名:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
文件来源,友善之臂提供
---解压
$ sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /
---由于系统是64bit的,安装支持包:lsb-core后,相关命令才能执行
$sudo apt-get install lsb-core
---在/etc/environment文件中添加相关记录:
下面是我的/etc/environment文件内容,直接贴在这儿了
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.6.0_30/bin:/usr/lib/jvm/jdk1.6.0_30/jre/bin:/opt/FriendlyARM/toolschain/4.5.1/bin"CLASSPATH="/usr/lib/jvm/jdk1.6.0_30/lib"JAVA_HOME="/usr/lib/jvm/jdk1.6.0_30"
---测试部署是否成功
$source /etc/environment$arm-linux-gcc -vUsing built-in specs.COLLECT_GCC=arm-linux-gccCOLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolschain/4.5.1/libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapperTarget: arm-none-linux-gnueabiConfigured with: /work/toolchain/build/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.5.1 --with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --enable-languages=c,c++ --disable-multilib --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=ctng-1.8.1-FA --with-bugurl=http://www.arm9.net/ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-longThread model: posixgcc version 4.5.1 (ctng-1.8.1-FA)
3,通过 Ubuntu Software Center安装Synaptic Package Management
4,通过Synaptic Package Management安装chrominum
5,执行Software updater
6,添加163源,参考:http://www.linuxidc.com/Linux/2013-05/83902.htm
$sudo cp /etc/apt/sources.list /etc/apt/sources.list.old$sudo gedit /etc/apt/sources.list
替换为如下内容
deb http://mirrors.163.com/ubuntu/ raring main universe restricted multiversedeb-src http://mirrors.163.com/ubuntu/ raring main universe restricted multiversedeb http://mirrors.163.com/ubuntu/ raring-security universe main multiverse restricteddeb-src http://mirrors.163.com/ubuntu/ raring-security universe main multiverse restricteddeb http://mirrors.163.com/ubuntu/ raring-updates universe main multiverse restricteddeb http://mirrors.163.com/ubuntu/ raring-proposed universe main multiverse restricteddeb-src http://mirrors.163.com/ubuntu/ raring-proposed universe main multiverse restricteddeb http://mirrors.163.com/ubuntu/ raring-backports universe main multiverse restricteddeb-src http://mirrors.163.com/ubuntu/ raring-backports universe main multiverse restricteddeb-src http://mirrors.163.com/ubuntu/ raring-updates universe main multiverse restricted7,安装中文输入法
$sudo apt-get install ibus-sunpinyin
8.安装gcc g++ 4.4
$sudo apt-get install gcc-4.4$sudo apt-get install g++-4.4 $cd /usr/bin(进入/usr/bin) $ ls -l gcc*(查看文件详细信息,gcc*过滤用,结果显示gcc->gcc4.6)$sudo mv gcc gcc.bak(将gcc备份)$sudo ln -s gcc-4.4 gcc(链接gcc4.4至gcc)$ls -l gcc*(再次查看确认,这时gcc->gcc4.4) $ ls -l g++*(查看文件详细信息,g++*过滤用,结果显示g++->g++4.6)$sudo mv g++ g++.bak(将g++备份)$sudo ln -s g++-4.4 g++(链接g++4.4至g++)$ ls -l g++*(再次查看确认,这时g++->g++4.4)
9,
---按照http://source.android.com/source/initializing.html中
Installing required packages (Ubuntu 12.04)说明操作
---安装g++-4.4-multilib
$sudo apt-get install g++-4.4-multilib10,开始编译
进入android4.0.3源码根目录后做如下操作
$. build/envsetup.sh$lunch full-enf$make -j4(开始编译,此时2013年3月22日凌晨02:03)问题1:
时间02:15:出现如下图中所示问题
解决办法,参考http://hi.baidu.com/ktpeng/item/7e9fbd18a45246c639cb30e4
这是由于ubuntu13.04版本太高的原因,在dalvik/vm/native/dalvik_system_Zygote.cpp文件中添加一行‘#include <sys/resource.h>’头文件声明,我的声明位置如下(可自行放置)
/* * dalvik.system.Zygote */#include "Dalvik.h"#include "native/InternalNativePriv.h"#include <sys/resource.h>#include <signal.h>#include <sys/types.h>#include <sys/wait.h>#include <grp.h>#include <errno.h>#include <paths.h>#if defined(HAVE_PRCTL)# include <sys/prctl.h>#endif#define ZYGOTE_LOG_TAG "Zygote"问题2:
时间03:50,出现如下图中错误
解决办法,参考:https://groups.google.com/d/msg/android-building/gzsDhvmW994/ing_fOXhgTsJ
在development/tools/emulator/opengl/host/renderer/Android.mk 文件中添加一行:LOCAL_LDLIBS += -lX11 ,我的添加位置如下
LOCAL_PATH:=$(call my-dir)# host renderer process ###########################$(call emugl-begin-host-executable,emulator_renderer)$(call emugl-import,libOpenglRender)LOCAL_SRC_FILES := main.cppLOCAL_CFLAGS += -O0 -gLOCAL_LDLIBS += -lX11 #ifeq ($(HOST_OS),windows)#LOCAL_LDLIBS += -lws2_32#endif$(call emugl-end-module)
时间也不早了,我还是洗洗睡吧,我也不管你了(电脑依然在编译中)
早上十点多醒来,看了一下电脑,OK,编译成功了
---通过emulator检查系统镜像是否能够运行
$emulator
上个截图
对了,编译过程中出现了两次自动关机事件,导致我很不开心,猜测可能是CPU温度太高的原因导致
做个全程记录,以免下次硬盘报废,再次搭建环境时不再四处搜索相关内容,并带着狐疑的态度担心讲的到底对不对,(毕竟不是自己的经历,毕竟不是用自己的语言做的记录),怀疑别人很不好,真的很不好,太不好了
==================分割线:以下为FiendlyARM--Smart210开发板android4.0.3_r1系统的编译记录=========================
一,编译源码
1,将源码解压到用户目录中(这样用户就具有读写的权限了)
2,进入源码根目录
3,解决上面的‘问题1’中出现的问题
4,解决上面的'问题2‘中出现的问题(源码已经解决了该问题,那就啥也不干了,撤)
5,执行如下命令开始编译(其实是执行一脚本文件)
$./build-android。。。
编译完成,未出现任何问题
二,创建系统目录
6,编译成功后,执行以下命令创建文件系统目录:
$./genrootfs.sh出现如下错误信息
./genrootfs.sh: 16: ./genrootfs.sh: Syntax error: "(" unexpected
改用如下命令
$. build-android
还是不行
上网一查,说是必须使用root身份执行该命令,于是通过如下操作顺利执行
$su (切换到root用户)#./build-android操作完成后,在源码根目录中生成了一个名为’rootfs_dir‘的文件夹
三,制作安装或运行文件系统映像
。。。暂时不需要制作文件系统映像,留待以后完善
====================add command:adb to ubuntu system=============================
gedit ~/.bashrc
在末尾加入,adb path
export PATH=${PATH}:/home/luosuo/adt-bundle-linux-x86_64-20131030/sdk/platform-tools
运行命令,重启udev:
$sudo service udev restart
=====================安装搜狗输入法==========================
参考文档:http://wenku.baidu.com/view/2d8c6469dd36a32d73758179.html
- ubuntu13.04 Android4.0.3编译环境搭建与编译过程+later_add跟踪报告
- 【环境搭建005】UBUNTU13.04 android4.08 源码编译实践中遇到的问题
- Ubuntu13.04 Android 编译环境搭建
- ubuntu13.04 编译环境
- Android4.0编译环境搭建
- ubuntu13.04代理下载并编译android4.3源码
- Ubuntu13.04环境下载、编译Android源代码
- Ubuntu13.04环境下载、编译Android源代码
- Ubuntu13.04环境下载、编译Android源代码
- Ubuntu 搭建Android4.0编译环境
- android4.2源代码编译环境搭建
- android4.4源码编译环境搭建
- android4.4源码编译环境搭建
- android4.0.3源码编译过程
- Android4.4编译环境的搭建和编译
- Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译
- Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
- Android4.03编译过程
- Rest 架构的一点认识
- Linux网络编程:原始套接字的魔力【上】
- View添加至窗口过程分析
- 机器学习第十三章:利用PCA来简化数据
- Ti DaVinci入门
- ubuntu13.04 Android4.0.3编译环境搭建与编译过程+later_add跟踪报告
- WMS服务
- 帮您快速入门 TI 的 Codec Engine
- Linux网络编程:原始套接字的魔力【下】
- Ams 学习
- servlet getWriter() has already been called for this response
- undefined reference to `XOpenDisplay'
- 第一部分看得透,断得准
- 凸包 andrew模板