您的位置:首页 > 移动开发 > Android开发

Android 系统编译安装

2012-02-07 20:34 148 查看
下了Android系统源码很久一直没时间编译,搞了一个下午,果然很麻烦。
一,下载源码
http://source.android.com/source/downloading.html
看官方教程吧。我之前也分享过一份源码。真的要下很久。
二,编译
http://source.android.com/source/building.html
官方教程。

主要说下我遇到的问题
首先是环境,我的是i52430 4G内存,LinuxMin 12 64位(其实就是
Ubuntu11.10)。Android2.3以上官方建议在64位的Linux上编译,当然32位上有解决的方法。另外JDK版本需要为1.6。

下面是别人总结的,刚好我都遇到了==总结下

1.出现多次权限不够

/bin/bash:prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc:权限不够

/bin/bash:/usr/meizu/Android/out/host/linux-x86/bin/bison: 权限不够

/bin/bash:build/core/find-jdk-tools-jar.sh: 权限不够

解决:

增加权限便可。

Chmoda+xprebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc

chmoda+x /usr/meizu/Android/out/host/linux-x86/bin/bison

2bison flex …..找不到命令.

/bin/bash:bison:找不到命令

bits/predefs.h:No such file or directory

一堆找不到命令,或者什么没有该目录,bits/predefs.h:No
such file or directory 这个错误有人说是g++gcc版本过高,要从4.6降到4.4,可是我将完还是不行,搜索了半天才发现,其实就是有些依赖没解决,我找到的依赖项有下面这些:

bison
flex
g++-multilib
gcc-multilib
gperf
ia32-libs-dev
lib32ncurses5-dev
lib32z1-dev
libc6-dev-i386
libx11-dev
mesa-common-dev
直接用apt-get install 全部装上...


3.pkg被中断,您必须手工运行sudodpkg
–configure -a 执行sudodpkg
–configure -a 解决此问题

4,arm-eabi-gcc:error
trying to exec 'cc1': execvp: No such file ordirectory”这样的错误

chmod-R 777 *

还有其它很多问题Android目前这么热门,基本上你遇到的问题别人已经遇到过了,所以基本上遇到问题晚上搜索下应该几给找到答案了。。关于搜索,建议用google或者直接用英文搜索,上面那个问题搜索“bits/predefs.h:没有该目录或文件”,就几个网页,但是搜索“bits/predefs.h:No
such file or directory ”

就可以看到一堆答案了。看来还是国外比较活跃啊==

三,安装使用编译好系统
推荐杨丰盛老师的《Android技术内幕》系统卷。第一章准备工作这部分讲得很清楚。
所有的编译工作应该包含下面几部分
1编译Android系统就是我们刚刚做的。
2编译Linux内核,直接make是不会编译Linux内核的
3编译SDK就是我们开发应用时从谷歌官网下载的那个个差不多,包含了很多开发应用的工具。
4编译ADT也就是Eclipse的开发插件。
5单独编译Adnroid系统中的模块。

具体编译过程请参见上面推荐的那本书,其过程也是非常蛋疼的。
简单说下怎样使用我们自己编译的系统。
执行完1,3即编译完Android系统和SDK后,所有生成的东西会在源码跟目录下的out目录

out/target/product/generic/下就是系统的镜像 有system.imgramdisk.img userdata.img sdcard.img等重要的文件。
进入out/host/linux-x86/sdk/android-sdk_eng.water_linux-x86目录(注意这里的文件名是自动生成的,android-sdk_eng.你的主机名)/tools目录下
执行以下命令
./mksdcard512M sdcard.img建立内存卡
./androidcreate avd –target 1 –name HelloAndroid –sdcard sdcard.img建立虚拟主机
--target指定target–name指定名字 –sdcard指定sd卡文件
./emulator -system /home/water/mydroid/out/target/product/gene
ric/system.img -data /home/water/mydroid/out/target/product/generic/userdata.img -ramdisk /home/water/mydroid/out/target/product/generic/ramdisk.img

指定编译好的system.imgramdisk.img的文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐