java交叉编译安卓可用,Android内核源码交叉编译

一、使用git下载android内核部分源码

首先新建要保存android内核源码的目录

mkdir

android_kernel

cd

android_kernel

android

kernel的网站http://android.git.kernel.org/

git

clone git://android.git.kernel.org/kernel/common.git

下载android内核源码,完成之后会看到common目录,内核的源码就算下载完成了

如果想下载某一内核的版本,可以使用下面几个命令:

git

branch -a//显示所有的分支

git

branch -r //显示romote端的分支

git

checkout //检出某一分支

二、设置交叉编译环境

交叉编译的环境在android源码已经存在,源码的下载可以参考《下载编译android源码》。在源码目录的android_source/prebuilt/linux-x86/toolchain/,可以看到多个交叉编译的工具

mac@mac-desktop:~/works/android_dev/prebuilt/linux-x86/toolchain$

ls -all

总用量 44

drwxr-xr-x 9 mac mac 4096

2011-08-28 15:16 arm-eabi-4.2.1

drwxr-xr-x 9 mac mac 4096

2011-08-28 15:16 arm-eabi-4.3.1

drwxr-xr-x 10 mac mac 4096

2011-08-28 15:16 arm-eabi-4.4.0

drwxr-xr-x 10 mac mac 4096

2011-08-28 15:16 arm-eabi-4.4.3

drwxr-xr-x 10 mac mac 4096

2011-08-28 15:16 arm-linux-androideabi-4.4.x

drwxr-xr-x 6 mac mac 4096

2011-08-28 15:16 i686-android-linux-4.4.3

drwxr-xr-x 8 mac mac 4096

2011-08-28 15:17 i686-linux-glibc2.7-4.4.3

drwxr-xr-x 10 mac mac 4096

2011-08-28 15:17 i686-unknown-linux-gnu-4.2.1

drwxr-xr-x 6 mac mac 4096

2011-08-28 15:17 sh-4.3.3

一般使用最新版本。

三、配置编译时的config文件

因为编译的镜像是要刷到模拟器运行的,模拟器的处理器架构是基于goldfish,所以需要下载有关goldfish的config文件。下载方法:

mac@mac-desktop:~/works/kernel-2.6.29$

git branch -a

* (no branch)

android-2.6.29

android-2.6.36

remotes/origin/HEAD ->

origin/android-2.6.36

remotes/origin/android-2.6.35

remotes/origin/android-2.6.36

remotes/origin/android-2.6.37

remotes/origin/android-2.6.38

remotes/origin/android-2.6.39

remotes/origin/android-3.0

remotes/origin/archive/android-2.6.25

remotes/origin/archive/android-2.6.27

remotes/origin/archive/android-2.6.29

remotes/origin/archive/android-2.6.32

remotes/origin/archive/android-gldfish-2.6.29

remotes/origin/archive/android-goldfish-2.6.27

remotes/origin/linux-bcm43xx-2.6.39

remotes/origin/linux-wl12xx-2.6.39

下载remotes/origin/archive/android-gldfish-2.6.29版本:

git

checkout origin/archive/android-gldfish-2.6.29

然后就可以到arch/arm/configs下看到goldfish_defconfig这个文件了。

把goldfish_defconfig文件拷贝到android_kernel目录,并重命名为.config

四、make编译

首先设置环境:

export

PATH=$PATH:~/android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin

然后修改Makefile:

ARCH =

arm #体系结构为arm

CROSS_COMPILE

= arm-eabi- #交叉编译工具链前缀,参考/toolchain/arm-eabi-4.4.3/bin

然后就可以make编译了,编译过程中会连续提示yes/not,能看懂的多注意几眼,看不懂的一路狂按Enter,最后如果前面的设置正确,编译完整后会看到下面的提示:

OBJCOPY

arch/arm/boot/zImage

Kernel:

arch/arm/boot/zImage is ready

五、编译得到zImage,用新内核启动模拟器

./emulator

-avd android2.1 -kernel ~/kernel-2.6.29/arch/arm/boot/zImage

在模拟器上查看系统信息:

babfd8453196ac49088cf19e27a20e8a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值