安卓环境搭建

来源:互联网 发布:linux init 5怎么退出 编辑:程序博客网 时间:2024/04/28 14:50

1、官方教程http://source.android.com/source/initializing.html

2、E: 软件包 sun-java6-jdk 没有可供安装的候选者http://hi.baidu.com/andforce/item/bdfe30a8e5a7f710a8cfb7c4

3、安卓Gingerbread (2.3.x)(含)以上安装java6,其他安装java5

4、ubuntu版本查阅:http://blog.csdn.net/debug_cpp/article/details/2687067

5、make[2]: *** [preloader] 错误 1
make[1]: *** [remake] 错误 2
make: *** [remakeall] 错误 1    :log里有need wine tool to sign pre-loader binary。于是sudo apt-get install wine

6、一直0% [正在等待报头]:http://blog.csdn.net/nevasun/article/details/6268332

7、wine: /home/ronki/.wine is not owned by you解决办法:chown -R root /home/ronki/.wine  原文地址http://blog.csdn.net/leo_wanta/article/details/6789070,原因是wine和windows差不多,root权限不开放,sudo或root打不开,而我们编译又必须用root或sudo(后来发现这是由于解压到了root主目录下,解压到用户主目录下就没这个问题了)。这个问题让我搞到夜里1:30还在公司,曾经年少的我。


8、编译android时遇到错误log中显示:error 114: @deprecated tag with no explanatory comment和error 103:Unknown tag:@Notes,解决办法:#./mk clean  #./mk  update-api  原文链接 1、http://blog.sina.com.cn/s/blog_55b1b0d50100jlge.html    2、http://www.eoeandroid.com/thread-84145-1-1.html,后来证明此办法无效。新解决办法:sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib  再make your-project new

9、中止执行:你复制的一连串命令中有多个回车键。

10、错误:诸如(.text+0x13): undefined reference to `func'等等,解决办法:make your-project new 原文地址:http://blog.csdn.net/aiwoziji13/article/details/7330333

11、只能sudo 编译,一般用户就编不过,必须改环境变量(下文第7条):否则和他一样http://blog.csdn.net/davidbeckham2901/article/details/7397447




高人总结

MT6573编译环境建立说明
1.下载UBUNTU系统盘,切记一定要64位1004版,不要自做聪明装1110或自认为机器是32位的就要下载32位的
http://mirrors.ustc.edu.cn/ubuntu-releases//lucid/ubuntu-10.04.3-desktop-amd64.iso

2.要确保电脑CPU的虚拟技术ENABLE,在BIOS里找到虚拟技术,设置为ENABLE,如果没有ENABLE,在安装时会报错:
kernel requires an x86_64 cpu, but only detected

3.安装虚拟机,最好不要装简装版的,否则有一个VM TOOLS装不了,会造成UBUNTU的编译环境不能完成VMWARE要装workstation6.5-7.X

选择创建一个空盘,自己装系统,然后选择LINUX->UBUNTU64
内存要足够大,建议2G是基本,硬盘空间要够大,一般建议至少要有30G的空余,至于虚拟机的名称自己定好了,然后选择将磁盘存为单个文件,便于管理
定制硬件时直接将刚才下载的ISO文件导入CD/DVD,网络选择NAT最好,有人建议使用BRIDGE,在下载更新时发现NAT最方便

4.安装UBUNTU,支持中文,其他自己填,一直到UBUNTU安装完成,建议使用sudo passwd root后使用root帐号进行后面的操作;
后面的操作都是以root进行的,如果不是使用ROOT帐户,在安装时terminal下需要一直使用sudo命令
重启后安装虚拟工具,在VM菜单下有一项Reinstall VMware Tools,这时在UBUNTU的CD/DVD光驱中会出现一个压缩文件,把这个文件拷到其他文件夹,建议Srv下面
解压后在vmware-tools-distrib目录下有一个vmware--install.pl,UBUNTU支持直接执行pl命令,安装过程中全程回车确认就可以

5.解压工程:GPL是SDK,另几个带GZ00系列的才是6573的源代码,你可以两个分开解压,如果在ubuntu下用tar的话会直接解压在同一个文件夹alps下,
如果用压缩包解的话会解出两个文件名,alps和alps(2),要把两个文件夹合并才算是完整的源代码
如果是gz00系列的分包压缩,要先用cat命令将几个分包合并才能解压,并不象winrar那样解第一个就可以解压完全部的。

6.配置开发环境:增加软件源:系统-》系统管理-》软件源-》其他软件 要把那俩achive.canonical.com的两条全部选中,这时候关闭就要求你要升级,一般如果网速快的话两个小时就可以全部搞好
打开terminal,如果刚才软件源已经升级过了,那后面这两条速度会很快,在terminal下进入刚才MTK源代码目录,执行
sudo apt-get update
sudo apt-get dist-upgrade
升级完成后,再次执行gedit /etc/environment,在environment文件后面增加两个系统变量,
CLASSPATH=/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
这是配置JAVA的安装升级,大约221M
以下是重点:请依次输入命令
sudo apt-get install sun-java6-jdk

/*************************
//by stephen
sudo apt-get install sun-java6-jdk 这个命令可能无法更新,可以考虑下面的方法,加入新的更新源to solve this problem was to add a new source。
sudo add-apt-repository "deb http://ppa.launchpad.net/ferramroberto/java/ubuntu lucid main"
sudo apt-get update 
sudo apt-get install sun-java6-jdk
****************************/

sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install gperf
sudo apt-get install g++-multilib
sudo apt-get install mingw32 wine 
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
在输入命令的过程中,请区分L(小写)和数字1的区别,建议直接把以上这段命令拷贝处理
如果你安装的是32BIT系统,那么恭喜你,会看到lib32z1-dev这个包是无论如何也找不到的,这是64位系统要支持32位软件所必须的,
现在可能觉得没有关系,等进入系统编译的时候就会发现:ANDROID 2.6只支持64BIT的操作系统
做完以上的工作后确认gcc的版本,
可以使用gcc -v来查看,也可以使用ls /usr/bin/gcc* -l来查看
前面的命令会出现gcc4.4.3,后面那个命令会出现gcc4.3和gcc4.4两个命令,如果担心出问题,强制使用gcc4.4
ln -sf /usr/bin/gcc-4.4 /usr/bin/gcc

/****************************
7.开始编译模拟器:
从terminal进入到MTK源代码根目录,执行./makeMtk generic new
6573的命令跟其他的命令一样,也有NEW,REMAKE等等之分,详细分别请自己看CODE
如果你的环境建立完成,那么恭喜你,会一直编译到building android这一条OK
编译完成后会在alps/out/target/project/generic目录下会生成ramdisk.img、system.img、userdata.img三个文件
8.模拟器跑起来。。
要想确认系统有没有正确编译,要先跑起来模拟器
提供了两种方法,一种是将生成目录下的那三个文件Copy到模拟器platforms\android-10\images目录下运行就能看到效果(我没有测试)
如果有人装了ANDROID模拟器的话可以试一下
另一种是在UBUNTU下面直接运行,按如下操作
cd alps/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=(路径名,要绝对路径)/alps /out/target/product/generic
./emulator
*****************************/

7.添加环境变量 
这里一般需要添加环境变量,否则在编译的时候可能会提示找不到交叉编译命令“arm-eabi-gcc”,MT6573要求的arm-eabi-gcc的版本是4.4.3
在解压出来的alps2中貌似已经包含了eabi编译器,可以直接将arm-eabi-gcc命令所在的目录导到PATH环境变量中
查找该目录的方法是执行
locate *gcc
正常情况会找到很多路径,这里选择路径 /..这里是你的alps2的上层目录../alps2/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/  注意是4.4.3版本
接下来执行
sudo gedit /etc/bash.bashrc
在bash.bashrc的最后添加
export PATH=/..这里是你的alps2的上层目录../alps2/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/:$PATH 
保存后退出,然后执行命令
source /etc/bash.bashrc 将该路径添加到PATH中
可以执行下面的命令检查是否已经正确添加
echo $PATH 

8.开始编译
进入到alps2的目录下,会看到命名为makeMtk和mk的perl脚本文件,这两个文件的内容其实是完全一样的
在终端中输入 

./makeMtk project_name(这里是你的工程名) action(这里是你要进行得操作)  或者 
./mk project_name(这里是你的工程名) action(这里是你要进行得操作)

就可以开始整个工程的编译过程
这里的工程名需要特别注意,可以使用的工程名可以到 /alps2/mediatek/config 目录下查看
其中的generic工程名只编译上层部分的代码,boot,kernel等部分不会编译,具体可以查看每个工程目录下的projectconfig文件

如果顺利,可以看到每个编译阶段都OK,然后最后一个building android也OK了,编译结束
在 /alps2/out/target/product/你的工程名 下会看到编译出来的结果,其中包含一些.bin文件和.img文件,还有一个...scatter.txt文件,这些是烧写时需要的文件

如果想查看编译过程中的一些信息可以到/alps2/out/target/product 目录下查看相应的.log文件

原创粉丝点击