资深程序员多年代码实践总结:《和Android源代码一起工作》 | Android DevCamp 话题简介:本演讲将结合讲师多年的代码实践经验,主要介绍Android源代码以及相关内容,让应用开发者了解到如何利用Android源代码来提高自己对Android系统的理解,以及通过一些高级技巧来定位和分析产品中的问题,充分利用Android的各种特性,从而改进和增强自己的应用。演讲内容将分为分中级篇和高级篇。中级篇内容包含:下载和同步Android源代码,Android源代码目录结构分析,Android源代码和Eclipse的整合和浏览。高级篇内容包含:Android源代码编译,系统编译,模块编译,Android源代码Java代码调试,Android源代码Native代码调试。演讲中也将穿插一些实践案例进行分析。 讲师介绍:胡继堂,原微软亚洲工程院软件开发工程师,目前在百纳信息担任研发主管,负责海豚浏览器Android版的开发工作。2010年开始从事Android平台上的开发,熟悉Android应用开发的各种技术,并喜欢分析Android系统框架和底层机制。自工作以来的方向一直都在移动设备的系统和软件开发上,对移动互联网有很大的热情。 ### 和Android源代码一起工作 #### 一、演讲概述及讲师背景 本次演讲主题为“和Android源代码一起工作”,由海豚浏览器的研发主管胡继堂主讲。胡继堂曾任职于微软亚洲工程院,拥有丰富的软件开发经验,自2010年起专注于Android平台的开发工作,对Android系统框架及底层机制有着深刻的理解。本次演讲旨在分享如何有效地利用Android源代码,提升开发者对Android系统的认识,并通过实例讲解如何解决开发过程中遇到的问题。 #### 二、演讲内容概览 ##### 中级篇 1. **下载和同步Android源代码** - **环境准备**: - 操作系统建议使用Ubuntu 10.04至12.04或者MacOS 10.5及以上版本。 - 需要安装必要的系统工具,如Git等。 - 准备足够的硬盘空间,2.3版本源代码需要10GB,4.0版本则需要20GB。 - **同步代码**: - 使用`repo`工具同步源代码。 - 初始化并选择所需的分支或标签,例如froyo、gingerbread、android-4.0.1_r1等。 - 参考官方文档进行操作:[下载源代码](http://source.android.com/source/downloading.html)。 - **浏览源代码**: - 利用Eclipse集成开发环境查看源代码,需要配置好相应的`.classpath`文件,并设置好内存参数。 2. **Android源代码目录结构分析** - **核心组件**: - `$srcroot/packages/`:应用程序包。 - `$srcroot/framework/base`:系统框架基础。 - `$srcroot/dalvik/`:Dalvik虚拟机。 - `$srcroot/libcore/`:核心库。 - **第三方库**: - `$srcroot/external/<project>`:第三方项目。 - `$srcroot/bionic/libc`:Bionic C库。 3. **Android源代码和Eclipse的整合和浏览** - **准备工作**: - 将`$srcroot/development/ide/eclipse/.classpath`复制到代码根目录。 - 在Eclipse中创建一个空的Java工程,并将工程路径指向源代码根目录。 - **实用技巧**: - 使用快捷键快速查找类或资源。 - 设置Eclipse的内存参数,避免内存溢出。 ##### 高级篇 1. **Android源代码编译** - **目的**: - 生成用于调试Native代码所需的符号文件。 - 开启系统中的调试选项。 - 修改系统代码,增加日志输出以分析系统行为。 - 定制Android系统功能。 - **系统准备**: - 推荐使用Google Nexus系列设备,因为它们支持快速解锁和驱动获取,同时在源代码中已有预设的编译目标。 - 模拟器也是一种选择。 - **编译步骤**: - 配置编译环境,参考官方文档:[初始化编译环境](http://source.android.com/source/initializing.html)。 - 编译指定的目标。 2. **系统编译** - **设备选择**:Nexus One作为示例设备,它支持快速解锁和驱动获取,适合用于编译和调试。 3. **模块编译** - 了解如何编译特定模块,这对于定制系统功能非常有用。 4. **Android源代码Java代码调试** - **前提条件**: - 已将Android源代码导入Eclipse。 - 设备或模拟器的代码与同步的代码相匹配。 - **调试步骤**: - 通过callstack上的方法右键选择“Edit Source Lookup”。 - 添加Android源代码工程到Source Lookup中。 - 直接在源代码中设置断点进行调试。 5. **Android源代码Native代码调试** - **关键步骤**:确保已生成正确的符号文件。 - **调试工具**:使用GDB或其他调试工具。 #### 三、实践案例分析 演讲中还将包括具体的应用案例,通过实际的例子帮助开发者更好地理解和掌握如何利用Android源代码解决问题。 通过以上内容的学习,开发者可以更深入地了解Android系统的内部工作原理,提升开发效率,解决复杂的技术难题。
- 粉丝: 794
- 资源: 16
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- 1
- 2
- 3
- 4
- 5
前往页