ubuntu/centos环境下玩android系统(一): 从编译android开始!
来源:互联网 发布:java源码书籍 编辑:程序博客网 时间:2024/05/18 03:35
ubuntu环境编译android的文章满天飞,但是在centos下的介绍却是少之又少,本文就以centos为例(ubutn 的介绍可以去google,已经实在太多了!),当然ubuntu下会有些不同,但是思路和解决问题的方法是大同小异的!
1.安装centos5.x - centos6均可(我选择的是5.6版本),还是老规矩,安装的时候自定义安装,能勾的都选上,别告诉我你的硬盘不够,如果这样我只能晕了!
2.确保上网OK!否则后面的就够谈了。
3.安装git
yum install zlib-devel
yum install openssl-devel
yum install perl
yum install cpio
yum install expat-devel
yum install gettext-devel
yum install autoconf
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
tar xzvf git-latest.tar.gz
cd git-{date}
autoconf
./configure --with-curl=/usr/local
make & make install
4.编译器安装,下载一个jdk,本人选择jdk-6u29-linux-i586.bin。
然后,
$ chmod a+x ./jdk-6u29-linux-i586.bin
$ ./jdk-6u29-linux-i586.bin
两条命令之后,打开/etc/profile编辑,在最后加上,
export JAVA_HOME=/opt/jdk/jdk1.6.0_29
export ANDROID_JAVA_HOME=$JAVA_HOME
export JRE_HOME=/opt/jdk/jdk1.6.0_29/jre
export PATH=/opt/jdk/jdk1.6.0_29/bin:$PATH
然后
$ source /ect/profile
那么编译器已经OK了!
5.下载android了,如果git已经顺利安装,这里就很简单了!
$ mkdir ~/bin $ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
当然,repo安装在别的目录也是一样的。没有影响,看个人爱好!repo一定要在10K以上,否则你的repo是用不了的。
$ mkdir /opt/android
本人比较喜欢在opt下干事情!
$ cd /opt/android
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1
$ repo sync
这里才真正开始下载,大约10个小时,也就下载完了!
6.编译
$ ./build/setupenv.sh
$ lunch 后选择1,当然选别的也行,看你想干什么而定!
$ make
编译的结果就是三个文件,system.img,ramdisk.img,userdata.img
如果是32位系统,估计会遇到点小阻力,可修改如下!
build/core/main.mk,把这个判断部分注释掉:
#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning ************************************************************)
#$(warning You are attempting to build on a 32-bit system.)
#$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
#$(warning ************************************************************)
#$(error stop)
#endif
修改这几个文件,该回到32位编译环境即可:
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk
把编译选项-m64改成-m32即可
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/i686/nosegneg/libc.so.6: version `GLIBC_2.11' not found (required by
prebuilt/linux-x86/toolchain/arm- eabi-4.4.3/bin/arm-eabi-gcc)
make: *** [out/target/product/generic/obj/lib/crtbegin_dynamic.o] 错误 1
这是在32位linux上编译引起的arm-eabi-4.4.3版本问题,所以需要修改arm-eabi-4.4.0:
在build/core/combo/TARGET_linux-arm.mk里面, /toolchain/arm-eabi-4.4.3 改成/toolchain/arm-eabi-4.4.0
下面,还会遇到
sh: gperf: command not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] 错误 25
解决方法: $ yum install gperf
紧接着,又报错
Install: out/target/product/generic/system/app/Mms.apk
target Executable: BufferQueue_test (out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test)
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `typeinfo for android::SortedVectorImpl'
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test] 错误
解决方法:
a.将system/media/opensles/libopensles下的IAndroidEffect.c文件重命名为IAndroidEffect.cpp
b.将同文件夹下的Android.mk中的IAndroidEffect.c改为IAndroidEffect.cpp
如果你还遇到其它问题,可以给我留言,也可发我邮箱javachjh@163.com
- ubuntu/centos环境下玩android系统(一): 从编译android开始!
- ubuntu/centos环境下玩android系统(一): 从编译android开始!
- ubuntu/centos环境下玩android系统(二): linux下的android模拟器运行!
- ubuntu/centos环境下玩android系统(三): windows下的android模拟器运行!
- ubuntu/centos环境下玩android系统(四): Android模拟器中运行hello world和贪吃蛇snake!
- CentOS环境下全志H3 android系统编译
- Ubuntu系统Android 编译环境配置搭建
- ubuntu安装android系统编译环境
- Ubuntu 15.10 搭建Android系统编译环境
- Ubuntu下android源码编译环境搭建
- android 2.3 ubuntu 下编译环境配置
- ubuntu下android编译环境搭建
- ubuntu 下搭建android编译环境
- ubuntu下android编译环境搭建
- ubuntu下android编译环境搭建
- ubuntu 12.04 下安装android编译环境
- Ubuntu Kylin下Android编译环境构建
- [从0开始学Android]-1.搭建编译环境
- javascript 正确截取单字节和双字节混和字符串的方法
- 开启电源后整个加载过程
- [软件No1]Adapter-免费的全能视频转换器(适用win和MAC)
- Window XP环境下SVN+trac+apache构建过程
- 对大小端的一点理解
- ubuntu/centos环境下玩android系统(一): 从编译android开始!
- 用yum查询想安装的软件
- 从文件中读取数组到内存
- 【转载】Ubuntu下chrome浏览器字体设置
- nth4
- 【2012求职经历】应届生求职经历
- hdu1028
- 使用ADO.NET 建立适应多种数据库的数据访问层接口
- nth5