如何编译android 4.1 的源码并在android的ADT里面调试framework相关的代码

1 篇文章 0 订阅
1 篇文章 0 订阅
步骤:
首先获得android 4.1.1的源码,并按照下面网页的说明进行编译。

http://blog.csdn.net/hudan2714/article/details/7926924
讲了如何编译以及对可能产生的问题所列举的对策。

主要的命令:
1.source build/envsetup.sh  这是向系统导入不同的厂商版本,并添加m命令
2.lunch 选择编译厂商版本
3. mm  编译版本

别忘了配置环境变量:
export ANDROID_BUILD_TOP=/home/qixinmin/andriod/android4.1.1
export ANDROID_PRODUCT_OUT=/home/qixinmin/andriod/android4.1.1/out/target/product/generic
export PATH=$PATH:/home/qixinmin/andriod/android4.1.1/out/host/linux-x86/bin


编译完以后把生成的
home/qixinmin/andriod/android4.1.1/out/target/product/generic 里面的三个image(ramdisk.img, system.img, userdata.img )
复制到
 home/qixinmin/eclipse/adt-bundle-linux-x86_64-20140321/sdk/system-images/android-19/armeabi-v7a 目录下(上面的路径或根据你的ADT版本的不同可能有所不同,请自行确认)

这样的话就可以让ADT开发环境里面直接启动你刚刚编译好的image, 可以在模拟器里面setting看到你所看到的android的版本



ADT环境的配置:

1. 复制{android源码目录}/development/ide/eclipse/.classpath{android源码目录}下的.classpath

2. 打开ADT,选择导入已有项目,目录选择{android的源码目录}

3. 打开以后可能出现下面的问题


Project'gingerbread' is missing required library:'out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar'
Project'gingerbread' is missing required library:'out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar'

可以参照http://blog.csdn.net/yjkwf/article/details/7162873里面的解决方案


4. 如何调试:


http://book.douban.com/people/RiaSakurai/annotation/5351836/


设置步骤是:


1.先打开模拟器,并打开要调试的程序(这样DDMS中才能看到该程序包)
2.启动DDMS,选中需要调试的程序
3.切换到java界面,在项目上点击右键,执行Debug,  注意首先需要设置Config(设置端口8700和相关参数),然后再执行debug,此时如果切换到DDMS窗口,可以看到选中要调试的程序包前面自动有一个小虫子图标,这时候再在模拟器上操作,一般都是可以成功进入debug窗口跟踪调试的。


DDMS 透视图下面才能看到下面的界面


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值