星期天在家研究了一下如何在mac下下载android4.2的源码并通过eclipse进行源码级别调试来更清晰的研究一下android的运行原理,具体步骤如下:
最后下下来了,但是我进行编译却没有通过,可能是我有东西没安,但是不影响源码调试,
首先参考http://source.android.com/source/downloading.html,与http://blog.csdn.net/joshua_yu/article/details/6876978,感谢。
说一下我最后的方法,
一、前期准备
1、mac下我们需要创建一个大小写敏感的磁盘镜像文件,并将其挂载,进入应用程序/实用工具/磁盘工具,选择文件->新建->新建空白映像:
空间大小自定义,建议30G,格式Mac os拓展(区分大小写),映像格式选择稀疏磁盘映像
2、安装xcode,编译时用到。
3、从macports.org安装MacPorts
macports基本命令:
(1)sudo port install ?安装
(2)sudo port uninstall ?卸载
(3) port installed 查看已安装的软件
这三个就够用了这里
4. 执行sudo port install gmake libsdl git-core gnupg命令安装gmake,libsdl,git,gnupg。我这里直接安装了gmake3.8.2,网上有说有问题家,但是我安 装后没有编译源码所以未发现问题。如果编译的可以安装网上方法退回到3.8.1。
5、安装完成之后port installed看一下时候上面提到的都安装了,接着如下:
修改文件标识符限制:
由于MacOS默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.profile里加上这么一段:
#set the number of open files to be 1024
ulimit -S -n 1024
二、从https://android.googlesource.com 下载源码,
1.创建~/bin/目录
$mkdir ~/bin
$PATH=~/bin:$PATH
2.安装repo
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
3.设置repo可执行权限
$chmoda +x ~/bin/repo
4、这一步大家注意了,当创建的大小写敏感磁盘空间挂载后我们的/volumes下能够看到android的目录,从这步起所有的操作在次目录下完成,
接下来执行repoinit
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1
执行完成后ls -a查看是否一个.repo文件夹,进入看到有manifest.xml文件,如果有那么我们接下来就可以下载源码了。
此连接有所有的版本branch,https://android.googlesource.com/platform/external/blktrace/想下载哪个版本的更改后-b后面即可。
5、下载源码
在/Volumes/android目录下执行命令:repo sync
剩下的就是等待了,我的网速比较快,下了二十多分钟就下完了,如果慢的两天也有可能。
三、把编译的方法说一下,需要的可以跟着试一下
进入到挂载的android目录下,
1、初始化编译环境:
$source build/envsetup.sh
2、选择编译目标
$lunch full-eng
3、开始编译代码
$make -j4(表明我们开启四个线程来进行编译)。
等着结果吧,我的没编译成功,但是我没想编译,只为了调试源码。
四、调试源码方法
1、拷贝.classpath
进入源代码目录,也就是上面的android。
$cd /Volumes/android
$cp ./development/ide/eclipse/.classpath ./
将.classpath设置为可写
$chmod +w .classpath
2、首先eclipse安装adt和sdk,这个不说了,肯定都会,版本选择4.2,安装完成后,file-java project,起个名字,然后location选择android目录,等待,可以 看到源码都被加载,然后看一下报的错误,我的报了如下错误:
调试时我发现没影响,所以不去关心了。
3、创建andoird项目(可以是hello world),选择android项目右键debug as-debug Configurations,然后选择左下角家remote java application右键new,设置,效果:
设置完成后apply保存。
4、然后在onCreate或其他地方设置断点,进入调试界面后如下:
如果看到下图,那么我们成功了一半了:
,
点击yes,进入,下面我们看到的界面发现没有源码,我们点击edit source lookup Path,点击Add按钮,选择java project,然后选中我们导入家源码工程,确定,然后再次查看,结果如下图:
接下来我们调试源码,点击左上角debug窗口中的你想调试家部分,可以点击Looper().loop,我们进入看一下:
好了,看到我们的源码了,剩下的是去探索了。Y(^_^)Y。
分享到:
相关推荐
12. **Android Studio支持**:虽然Android Studio在后来的版本中发布,但源码与Eclipse ADT(Android Developer Tools)兼容,可以帮助开发者使用这些工具进行开发和调试。 深入研究Android 4.2源码,不仅可以帮助...
4. **同步源码**: 使用以下命令下载源码: ``` repo sync -j8 ``` `-j8`参数表示使用8个线程并行下载,你可以根据网络条件和计算机性能调整这个数字。 下载完成后,你会在工作目录中看到多个子目录,每个代表...
Android 4.2的源码编译是一项复杂但重要的任务,对于开发者来说,深入理解Android系统的内部运作和进行自定义修改都离不开对源码的掌握。本文将详细介绍在Ubuntu 10.04 64位系统上下载并编译Android 4.2源码的全过程...
在Android 4.2系统中,蓝牙(Bluetooth)是一个重要的通信接口,允许设备之间进行无线数据交换和音频流传输。这个源码包提供了Android 4.2 Bluetooth应用程序的完整源代码,是深入理解蓝牙功能、开发相关应用或者...
对于开发者而言,深入理解Android 4.2的源码是提升应用程序质量、优化性能以及创新功能的关键。 源码分析: 1. **系统架构**:Android 4.2的源码分为几个主要部分,包括kernel(内核)、HAL(硬件抽象层)、system...
这个模块的源码对于深入理解Android的日历功能、开发相关应用或者进行系统级优化至关重要。下面将详细探讨Android 4.2 Calendar日历模块的一些关键知识点。 1. **数据存储**: Android日历数据主要存储在SQLite...
《深入剖析Android 4.2源码:洞察系统运行机制》 Android 4.2是谷歌发布的Android操作系统的一个重要版本,它带来了许多新特性和改进,对于开发者来说,理解其源码是提升开发技能和优化应用性能的关键。通过在...
通过深入学习和分析Android 4.2自带日历源码,开发者不仅可以了解Android日历应用的基本架构,还能掌握到数据存储、UI设计、多线程处理、网络通信等多个方面的知识,对提升Android开发技能大有裨益。
《Android 4.2应用程序源码之Mms详解》 在深入探讨Android 4.2应用程序源码中的Mms部分之前,我们先来了解一下Mms的背景和基本概念。Mms,全称Multimedia Messaging Service,即多媒体信息服务,是GSM网络中用于...
Android应用源码Android平台下通过HTTP协议实现断点续传下载.rar Android应用源码Hibernate4Android.rar Android应用源码http、udp、tcp网络交互组件.rar Android应用源码ListView实现的目录树结构.rar Android应用...
总结来说,要下载和编译Android 4.2的源码,你需要准备一个合适的Ubuntu环境,安装必要的工具和库,然后使用`repo`工具下载源码,最后进行编译。过程中可能会遇到各种挑战,但通过查阅文档和社区支持,大多数问题都...
总的来说,分析和学习Android 4.2 Email应用程序的源码,不仅可以帮助开发者掌握Android系统的邮件服务实现,还能加深对Android应用架构、网络通信、数据存储、UI设计以及性能优化的理解。这是一次深入了解Android...
这个源码包提供的是谷歌官方的Calendar应用程序源代码,对于开发者来说,它是一个宝贵的资源,可以深入理解Android系统中日历应用的工作原理,以及如何进行定制和优化。 首先,我们来探讨Android 4.2的Calendar应用...
Android 4.2系统源码是开发者探索Android操作系统底层机制的重要资源,对于深入理解Android系统的工作原理、优化应用性能以及进行定制化开发具有重大意义。这份"android-4.2-src.zip"压缩包包含了Android 4.2版本的...
Android应用源码11套安卓源码合集: Android Gps日志记录程序源码.rar Android listview 滑动删除(具体效果360手机卫士后台通知).rar Android MP3播放器,带卡拉OK字幕.rar Android “遇见”android应用源码.rar ...
- 下载源码:`repo sync` 3. **源码结构与编译** - Android源码包含了多个仓库,每个仓库代表不同的组件,如系统内核、框架层、库、应用等。 - 编译源码前,需配置编译环境,包括设置目标设备、编译选项等:`...
这个应用在Android 4.2版本中被广泛使用,因此对于开发者来说,深入理解其源码是提升Android UI设计和多媒体处理能力的重要途径。以下是对"android4.2应用程序源码之Gallery2"的详细分析: 1. **相册应用结构**:...
【Android串口调试助手源码】是一个专门为Android平台设计的串行通信开发工具,它基于Android Studio构建,旨在帮助开发者进行设备间的串口通信调试。这个应用提供了多种实用功能,如串口扫描、数据的文本和十六进制...
9. **调试工具和日志(Debugging Tools and Logging)**:为了方便开发者调试,Phone模块源码通常包含丰富的日志输出和调试工具。这些可以帮助我们理解系统运行时的行为。 通过对Android 4.2.2_r1版本Phone电话模块...
《深入解析Android 4.2原生锁屏GlowPadView源码》 在Android开发领域,理解系统原生组件的源码对于提升开发者的技术深度和优化应用性能至关重要。本篇将聚焦于Android 4.2中的GlowPadView,一个用于创建触控反馈...