android 源码编译遇到得一些问题

转自http://blog.csdn.net/marlene0312/article/details/6165119
开发环境是fedora14 2.6.35.10-74.fc14.i686
android源码得获取和编译看官网链接
http://source.android.com/source/download.html

 

1.执行build/envsetup.sh脚本,配置环境变量

2.网上搜索到的
在使用:
$ repo init -u git://Android.git.kernel.org/platform/manifest.git
$ repo sync
下载完代码后,进行make,
$cd ~/mydroid
$make
却出现了如下错误:
build/core/main.mk:73: You are attempting to build on a 32-bit system.
build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.
这是因为froyo/2.2默认只支持64-bit,看到有些网友还要去下载64-比他的操作系统,很是麻烦,于是通过不断搜索资料终于解决,

解决办法:
需要进行如下修改即可,

./external/clearsilver/cgi/Android.mk 
./external/clearsilver/java-jni/Android.mk 
./external/clearsilver/util/Android.mk 
./external/clearsilver/cs/Android.mk
四个文件中的
LOCAL_CFLAGS += -m64 
LOCAL_LDFLAGS += -m64 
注释掉,或者将“64”换成“32”
LOCAL_CFLAGS += -m32 
LOCAL_LDFLAGS += -m32 

然后,将
./build/core/main.mk 中的
ifneq (64,$(findstring 64,$(build_arch))) 
改为:
ifneq (i686,$(findstring i686,$(build_arch))) 

 

3./bin/gperf库出错

解决:安装gperf库

 

4.make: *** [out/target/common/docs/api-stubs-timestamp] 错误 45

解决:

make clean
make update-api
make

 

5.安装jdk1.5.0.22的包,重新编译。

 

Which version of JDK should I use to build Android?

A: Only JDK 5.0.12 - 5.0.22 can be used to build Android. If you already installed JDK 6, you need download and install the JDK 5 from here and export the JDK 5 path to build Android.

 

 

6.make: *** [out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/tests] Error 1

解决: You can add the following lines to the end of the file /etc/security/limits.conf(before the line # End of file)

 

*       soft  nofile   8192                                                      
*       hard  nofile   8192

 

and reboot. You can check whether your modification takes effect or not by "ulimit -n".

 

OK!问题解决

 

 

 Can I use a emulator to develop for AT91 devices?

 

A: Yes. The Android SDK provided a set of tools to run a customized image. Please see below the steps:

  • After finish compiling Android4SAM you can find three .img files inout/target/product/sam9m10
    • system.img
      • The initial system image.
    • ramdisk.img
      • The ramdisk image used to boot the system
    • userdata.img
      • The initial user data image (see below)
    • kernel-qemu
      • The emulator-specific Linux kernel image

Tip, idea If the kernel image is not found in the out directory, you may find it in/prebuilt/android-arm/kernel

  • Copy those images in a directory.
  • Use command to start a emulator based on our own images by typing following command:

 

 

    $ out/host/linux-x86/bin/emulator -kernel kernel-qemu -ramdisk ramdisk.img -system system.img -data userdata.img
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值