资深程序员多年代码实践总结:《和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系统的内部工作原理,提升开发效率,解决复杂的技术难题。
- 1
- 2
- 3
- 4
- 5
前往页