Android源码】的更多相关文章

Android源码分析——广播 广播是一种在组件之间进行消息传递的方式.广播机制的实现是基于Binder进程间通信. Binder进程间通信和广播的差别:Binder中,Client组件和Service组件通信之前必须先获得Service的一个代理对象,Client组件事先要知道Service组件的存在.广播发送者事先是不要知道广播接收者的存在.因此,广播发送者和接收者之间的耦合度较低. 广播是基于消息发布和订阅者模型实现的. 在同等情况下,动态注册的广播接收者要比静态注册的广播接收者优先收到广…
@Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.html) 使用的源码阅读工具为Source Insight 源码结构: 0x00 Zygote介绍 Zygote是在设备开启的时候init启动的其中一个进程.在Android系统中,所有的应用程序进程,以及用来运行系统关键服务的System进程都是由Zygote进程负责创建的,因为其行为很想受精卵的分…
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的理解和认识简要的做个笔记,有异议或者不解的,可以直接留言. 什么是ProGuard工具? ProGuard是android提供的一个免费的工具,它能够移除工程中一些没用的代码,或者使用语义上隐晦的名称来重命名代码中的类.字段和函数等,达到压缩.优化和混淆代码的功能.具体来说,使用ProGuard工具…
Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-TortoiseGit完整配置: http://www.cnblogs.com/popfisher/p/5466174.html  下面通过四个步骤完成platform/frameworks/base工程的clone 1.Google 存放Android源码的Git仓库 http://android.kvmpo…
android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Linux yanggang 2.6.35-30-generic #61-Ubuntu SMP Tue Oct 11 15:29:15 UTC 2011 i686 GNU/Linux(Ubuntu10.10  32bit) 首先,我们先安装一些常用的工具curl: sudo  apt-get  inst…
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool  apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用命令(dex2jar.bat classes.dex)得到一个 jar文件1 2. Apk文件的结构2 1.1. Tool  apk逆向助手 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码 1.用解压工具从 apk包中取出 classes.dex 文件 1.3. 用命令…
添加缓存环境变量 : 在 ~/.bashrc 环境变量文件中 添加 export USE_CCACHE=1环境变量, 加速随后的编译过程; 分配缓存磁盘大小 为 ccache 指定磁盘中的一部分大小, 用于缓存, 使用prebuilts/misc/linux-x86/ccache/ccache -M 50G 命令,大小可以自己设定,20G也可以. 命令执行位置 在 Android 源码根目录执行 prebuilts/misc/linux-x86/ccache/ccache -M 50G 命令;…
编译版本要求 基本安装环境 ubuntu 14.04 64 sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev lib…
编译环境:Ubuntu12.04 64位 Android源码:Android 4.3 以下问题是笔者亲自碰到,通过网上查询整合在一起的. 1.error while loading shared libraries: libz.so.1: cannot open shared object file:No such file or directory 这里所说不能加载libz.so.1这个包,所以需要下载,笔者使用了几种方法,以下是自己使用过,测试是OK的. 我们使用命令apt-get sear…
android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic                        (bionic C库) |-- bootable                (启动引导相关代码) |-- build                        (存放系统编译规则及generic等基础开发包配置) |-- cts                      …
android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/模块名 -j4 2>&1 | tee build_qchat.log 2,在模块路径下用mm命令编译,log信息保存在模块路径下 mm -j8 2>&1 | tee build_qchat.log…
Android 源码:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/…
Camera的架构与Android系统的整体架构保持一致,如下图所示,本文主要从以下四个方面对其进行说明. Framework:Camera.java Android Runtime:android_hardware_Camera.cpp Library:Camera Client和Camera Service HAL:CameraHardwareInterface 一.Framework:Camera.java Camera是应用层软件直接使用的类,涵盖了启动.预览.拍摄及关闭等操作摄像头的全…
参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实际上一开始我是从Ubuntu 16.04 LTS开始的,但编译过程中出现提示需要OpenJDK1.7的情况,但是Ubuntu 16.04 LTS的软件包里只有OpenJDK1.8 和OpenJDK1.9. 于是我换成了Ubuntu 15.10,虽然它不是LTS版本,但是它的OpenJDK版本比较齐全…
在线代码网站1:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ 书籍:<Android系统源代码情景分析> Android源码结构: Android源代码结构分析 Google提供的Android包含了:Android源代码,工具链,基础C库,仿真环境,开发环境等,完整的一套. 第一级别的目录和文件如下所示: ---------------- ├── Makefil…
一.模板方法模式定义 模板方法模式定义: defines the skeleton of an algorithm in a method, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. 定义一个方法操作算法的框架(骨架结构),而将一些步骤延迟…
因为EXT和NTFS格式的差异,我一直对于windows下阅读Android源码感到不满. 前几天,想把最新的android5.0的源码下下来研究一下,而平时日常使用的又是windows环境,于是专门思考了一下这个问题,总结一次. 要求 有且只有一份可以下载,更新,编译的Android源码,可以在不同平台查看. 硬件篇 方案一:U盘 拷贝一份在linux下的Android源码,到某一U盘. 优点: u盘便携性非常强,可随身携带 缺点: 源码不能更新,每次重新拷贝最新的源码需要一台linux,而且…
之前一直在windows下用source insight阅读android源码,效果非常好.后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式.最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen.顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然夜可用于android studio.使用之后,发现效果超棒,所以这里专门撰文推荐. 1.效果图 2.编译id…
前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在<拓展系列>里.随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以把它提到<学习系列>专讲一章基础篇.刚装了UBUNTU14.04,所以尝试在新环境下编译一下android源码.因为和谐原因,我临时买了个VPN,推荐一下(还算稳定):http://a.wy002.com/34750 或者云梯 1.参考链接(官方):环境:http://source.android…
一直想尝试android源码的编译,这两天正好海思代码的编译也需要ubuntu环境,于是安装了ubuntu 12.04,安装时选了语言为中文,因此下面很多状态及错误报告都是中文了,另外分配了4G swap分区,200G ext4主分区.因为听说android源码编译需要100G空间,加上考虑磁盘余量作为工具安装及代码备份,给了200G,反正现在谁都不缺这点儿硬盘空间. 关于源码的下载官方文档是 http://source.android.com/source/downloading.html#i…
本文改写于:http://www.cnblogs.com/skyme/archive/2011/05/14/2046040.html 1.下载并安装git: 在git-scm.com上下载并安装git,安装后它会自动加载在windows右键菜单中. 2.生成下载命令列表: git下载的格式形如: git clone https://android.googlesource.com/name 把name换成具体的目录即可,android源码的目录极多,手动手写太过繁杂,改写文章提供了一个java程…
前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚.从字面意思,Context的意思是“上下文”,或者也可以叫做环境.场景等,尽管如此,还是有点抽象.从类的继承来说,Context作为一个抽象的基类,它的实现子类有三种:Application.Activity和Service(估计这么说,暂时不管ContextWrapper等类),那么这…
编译Android源码的过程参考Android官网介绍: 1.下载Android源码的步骤:https://source.android.com/source/downloading.html 2.编译Android源码的步骤:https://source.android.com/source/building-running.html 下面就是我遇到的一些问题: 1.Compile Android Source时JDK相关的错误: 错误1: target release 1.5 conflic…
2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成. 2.3.1Android源码目录结构 在Android源码中,按照不同功能代码被放在不同的目录下: 目录 描述 bionic 针对Android系统定制的仿生标准C库.链接器等所在目录,Android系统并没有使用Linux的glibc库,bioinc…
文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅读Android源码? 如何查看Android源码[以Android2.2为例] 我们知道在Eclipse里按住Ctrl键不松手在某个类上点击鼠标左键,可以跳转到该类的文件.如果没有源码就会跳到class文件上.因此我们只需要把源码拷贝到合适位置,Eclipse就可以找到源码了.接下来我说一下步骤:…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 看本篇文章之前,建议先查看: Android源码剖析之Framework层基础版 前面讲了framework的整体层次和基础定义与服务,接下来我们讲讲窗口的创建,底层与应用层界面的交互和管理. 一.窗口的创建 上一篇我们讲了三种窗口的类型,本篇接着讲窗口的创建过程,拿Activity创建窗口为例 最终声明一个新的 ViewRootImpl来承载新的View, 执行setView方法,将给mPane…
注意,本文只供参考,是老文章 1.必要的软件环境 sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libc6-dev sudo apt-get install patch sudo apt-get install texinfo sudo apt-get install libn…
一.Android版本与Linux内核的关系 http://www.cnblogs.com/qiengo/archive/2012/07/16/2593234.html 英文名 中文名 Android版本 Linux内核版本 No 无 1.1   Cupcake  纸杯蛋糕 1.5 2.6.27 Donut 甜甜圈 1.6 2.6.29 Eclair  松饼 2.0 2.6.29 Eclair 松饼 2.1 2.6.29 Froyo 冻酸奶 2.2 2.6.32 Gingerbread 姜饼 2…
版权声明:本文为博主原创文章,未经博主允许不得转载. 好吧,终于要开始讲讲Activity的布局加载流程了,大家都知道在Android体系中Activity扮演了一个界面展示的角色,这也是它与android中另外一个很重要的组件Service最大的不同,但是这个展示的界面的功能是Activity直接控制的么?界面的布局文件是如何加载到内存并被Activity管理的?android中的View是一个怎样的概念?加载到内存中的布局文件是如何绘制出来的? 要想回答这些问题,我们就需要对android的…
这个刚刚在安卓教程网那里看到的,File Manager文件管理应用android源码,这个是File Manager文件管理应用源码,源码filemanager,一个开源的文件管理器完整源码,文件查询速度非常快,功能基础简单,很适合在这个基础上做增量开发,现在还在开发中可以在google play上下载其beta版本. 可能用到的源码片段:http://code.662p.com/list/173_1.html 使用说明:   详细说明:http://android.662p.com/thre…