学习了高焕堂先生的《Android应用框架原理》后,接触到了Ioc(Inversion of control,控制反转),想学习下Android应用框架,挽起袖子操刀直接冲着源码去了。
环境:VMWare + Ubuntu11.04
Linux build环境的配置:
1.2.6Gd的源码存储空间
2.安装Python2.4--2.7(Ubuntu11.04自带)
3.Git1.7
4.安装jdk
A.android2.3及以后版本需安装jdk6,android2.2及以前版本jdk5
B.安装jdk6:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
等待……tab键一路ok即可。
C.【说明】下载时间过长可离线安装。
在UBUNTU和Windows之间共享文件:
新建文件夹-->右键shareOperations-->安装Windows网络共享服务(smbclient)
-->restart the ression-->返回文件夹进行共享设置
5.安装包(Installing required packages)
64-bit:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
一路确定即可。
因为只是用于学习,到这里就完成了Linux build环境的配置了。
参考http://source.android.com/source/initializing.html
源码下载
1.安装Repo,“在本机建立分布仓库”,Repo是基于Git的一个管理工具.下载android源码时,当需下载源码包中某一个文件时,用git;而需下载整个源码包时,需用repo,这也是git和repo的区别。
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
The SHA-1 checksum for repo is 29ba4221d4fccdfa8d87931cd73466fdc24040b5.
2.初始化Repo客户端(建立目录 AndroidSource_GB<版本>)
$ mkdir AndroidSource_2012_1_30
$ cd AndroidSource_2012_1_30
$ repo init -u https://android.googlesource.co
按要求上邮箱什么的。
3.开始同步文件
$ repo sync
默认最新版本,如果想同步以前的版本,加一些tag
下载……6——8个小时(若下载中断,重新执行repo sync即可)
验证Git Tag(拿本地代码与所下载代码进行比较,仅用于学习的话就不用这一步了)
参考http://source.android.com/source/downloading.html
Build the System
参考http://source.android.com/source/building.html,这就算了吧。
调用模拟器emulator启动编译好的ROM。
make不编译内核,更改了驱动后才编译内核。
说明:
Installing required packages选的是32-bit时,build可能会有can not build on System 32bit的问题,应该是Ubuntu11.04的bug,打个什么补丁吧好像。
如果是通过代理上网的话需另行设置。
分享到:
相关推荐
自己编译的 Android12版本-framework源码jar 来源:AOSP源分支 android-12.1.0_r11
Android Framework源码是Android操作系统的核心组成部分,包含了系统服务、库和API框架,是开发者深入理解Android系统工作原理的重要参考资料。这份最新的源码版本提供了一个深入洞察Android系统内部机制的机会,...
`framework_intermediates-classes-full-debug.jar` 文件则很可能是Android Framework的编译中间产物,包含了全部的调试模式下的类。 在Android Framework中,以下是一些关键的知识点: 1. **Activity**: 是...
android14 framework jar 包
本资源为 android 10 (API 29)中 framework 下 base 仓的核心源码,主要包含如下内容: /frameworks/base/core /frameworks/base/services 另外,资源文件中包含 android.iml、android.ipr、android.iws 3个文件,...
在Android开发中,源码编译的jar包是开发者深入理解系统运作、定制化系统或者进行二次开发的重要工具。本文将详细阐述如何编译Android源码以生成`classes.jar`,以及这个过程中的关键知识点。 首先,让我们了解`...
标题和描述提到的是一种这样的场景,即利用反编译工具将Android的`framework.jar`转换成可读的Java类(`.class`),然后使用JD-GUI来查看和验证修改是否成功编译。 首先,`framework.jar`是Android系统的核心组件之...
本文将深入探讨`framework-res.apk`的编译过程、作用以及与Android系统的关联。 首先,`framework-res.apk`是Android操作系统的核心组成部分,它提供了Android系统的用户界面元素,如系统图标的样式、布局文件、...
12. **Android运行时(ART)**:Android运行时负责执行Dalvik字节码或者自Android 5.0 Lollipop开始的AOT(Ahead-Of-Time)编译后的机器码。ART提供了垃圾回收机制和一些性能优化功能。 学习和理解Android Framework...
在framework 里面才能编译. 对于开发输入法来说是在是不方便, 本人花费大量时间 移植到 window上jave 环境 Eclipse 上编译, 而且JNI 都被修改了,提供源码,可以自己编译. window下开发调试非常方便. 附带编译截图.
Android 模块单独编译详解 在 Android 源代码工程中,单独编译某个模块是一件很有必要的事情。尤其是在我们修改了某个模块或新增了自己的模块时,重新编译整个 Android 系统镜像 system.img 是非常耗时的。这时,...
下载源码后,你可以通过Android Studio导入项目进行编译和分析。Android Studio提供了对源码的强大支持,包括代码导航、调试和重构。在导入时,确保已安装了适用于Android Nougat的NDK和SDK。 Android 7.0的关键...
本篇内容将深入探讨Android Framework层的源码分析,帮助你理解这一关键层次的工作原理。 1. **系统启动流程** - Android系统的启动始于Zygote进程,它预先加载了大部分核心库,为其他进程提供快速孵化的基础。 -...
android2.2源码编译结果 \android2.2\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates
源码提供了相关的编译方式。 1.生成idegen.jar文件。 在源码根目录下输入指令: xx@xx:~/code/android_27$ source build/envsetup.sh 自动输出 including device/generic/mini-emulator-arm64/vendorsetup.sh ...
Android11.0 系统分析 Android11.0 启动分析 Android11.0 最新Framework解析 Android11.0 Binder通信原理
在Android系统开发中,理解和掌握源码编译过程至关重要,特别是对于那些致力于Android系统或Framework开发的专业人士。本文将深入探讨“Android源码编译参考文档”中的关键知识点,包括高通编译参考和Android Build ...
3. **AOSP 源码编译**:学习如何配置编译环境,编译整个AOSP系统,包括设备树和kernel。 4. **HAL与硬件服务**:掌握HAL(Hardware Abstraction Layer)的编写,理解和实现硬件驱动的抽象接口。 5. **基础组件**:...
### Android源码编译及ROM制作 #### 一、概览 在《android源码编译及rom制作.pptx》这份文档中,主要讲解了如何进行Android源码的编译以及ROM的制作过程。这一过程对于那些希望深入了解Android操作系统工作原理、...