【android分析之Parcel】教程文章相关的互联网学习教程文章

Android4.0 Surface机制分析【代码】【图】

1. java层面的Surface 对于Surface我们的认识主要是android的类Surface, android的文档描述Surface是“Handle onto a raw buffer that is being managed by the screen compositor”,这个描述透漏出两个信息:首先,Surface是一个raw buffer的句柄,通过它去管理一个raw buffer,其次,Surface本身是由screen compositor来管理的。但是raw buffer具体是什么,screen compositor又是什么,Surface是如何管理一个raw buffe...

Android LayoutInflater原理分析,带你一步步深入了解View(一)

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋 友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。 其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到。那么今天我们就来把LayoutInflater的工作流程仔细地剖析一遍,也许还能解决...

Android LayoutInflater原理分析,带你一步步深入了解View(一)

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋 友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。 其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到。那么今天我们就来把LayoutInflater的工作流程仔细地剖析一遍,也许还能解决...

Android使用Messenger进行Service IPC通信分析【图】

如果想要进行IPC通信,一般写一个AIDL接口,再写一个Service子类,然后实现AIDL接口 当做IBinder返回给Activity界面层。如果不想写AIDL接口文件,只是单I线程中与Service进行通信 我们可以用Android写好的Messenger类来处理,一样能将消息传递给Service进行通信。先写上基本代码:public class MyService extends Service {Messenger messenger = null;public MyService() {}@Overridepublic void onCreate() {super.onCreate();me...

[Android]Volley源码分析(肆)应用

通过前面的讲述,相信你已经对Volley的原理有了一定了解。本章将举一些我们能在应用中直接用到的例子,第一个例子是NetworkImageView类,其实NetworkImageView顾名思义就是将异步的操作封装在了控件本身,这种设计可以充分保留控件的移植性和维护性。NetworkImageView通过调用setImageUrl来指定具体的url:public void setImageUrl(String url, ImageLoader imageLoader) {mUrl = url;mImageLoader = imageLoader;// The URL has poten...

Android Content Provider的启动过程源代码分析【图】

本文参考Android应用程序组件Content Provider的启动过程源代码分析http://blog.csdn.net/luoshengyang/article/details/6963418和《Android系统源代码情景分析》,作者罗升阳。 0、总图流程图如下: 1、MainActivity进程向ActivityServiceManager主线程发送GET_CONTENT_PORVIDER_TRANSACTION 如下图: 如图:第一步 ~/Android/frameworks/base/core/java/android/app ----ActivityMana...

Cordova Android源码分析系列二(CordovaWebView相关类分析)

本篇文章是Cordova Android源码分析系列文章的第二篇,主要分析CordovaWebView和CordovaWebViewClient类,通过分析代码可以知道Web网页加载的过程,错误出来,多线程处理等。CordovaWebView类分析 CordovaWebView类继承了Android WebView类,这是一个很自然的实现,共1000多行代码。包含了PluginManager pluginManager,BroadcastReceiver receiver,CordovaInterface cordova, CordovaWebViewClient viewClient,CordovaChrome...

Android--手机一键Root原理分析

Root的由来 什么是Root?Root本身是指Linux系统的root帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对象它都可以操作,对于Android手机用户来说的Root是指拥有Root权限,一般情况下,手机厂商出于安全考虑会关闭手机的Root权限,手机系统是运行在普通用户权限下的,用户是无法操作系统中的文件与数据的。 Root与刷机本身是有很多关联的,而且随着刷机工具的便利与刷机原理的变化,两者的关系更加是模糊不清了。...

Android : 跟我学Binder --- (4) 驱动情景分析【代码】【图】

目录:Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制?Android : 跟我学Binder --- (2) AIDL分析及手动实现Android : 跟我学Binder --- (3) C程序示例Android : 跟我学Binder --- (4) 驱动情景分析Android : 跟我学Binder --- (5) server的多线程实现(未写)Android : 跟我学Binder --- (6) c++实现_(未写)Android : 跟我学Binder --- (7) JAVA实现_(未写) 一、数据结构  首先基于之前的c程序代...

Android4.4 应用分析——修改Launcher3应用以适应单屏壁纸【图】

Launcher3壁纸的规格默认是:壁纸高度=屏幕高度,壁纸宽带=屏幕宽度*2倍Android4.4的壁纸信息存放在/data/system/users/0/目录下,WallpaperManagerService启动后,会生成如下两个文件在/data/system/users/0/目录下: static final String WALLPAPER = "wallpaper"; //设置的壁纸图片,一般为jpeg格式static final String WALLPAPER_INFO = "wallpaper_info.xml"; //包含墙纸的规格信息:高、宽Wallpaper_info.xml的解析可...

Android核心分析 ----- Android电话系统之RIL-Java

Android RIL-Java RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为RILRequest。为了直观起见,我还是不厌其烦的给出RIL-Java的框架图。RIL-Java的大框架包含了四个方面:Receiver,Se...

Android屏幕适配详细分析【图】

android中图片适配是一件很棘手的事情,本篇文章详细的介绍屏幕显示的原理,为什么会资源文件中会存在drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi等文件夹,为什么要使用dp作为单位等等。首先从这两张图片的显示效果开始说起1、这是一张200x200的图片在不同的手机上的显示效果。很明显第二张图片看上去要比第一张占用的空间小很多?这是为什么呢?这里我们引入 ppi (pixel per inch)名词,翻译过来就是每英寸的...

Android jni Crash堆栈信息分析

如何定位Android NDK开发中遇到的错误 NDK编译生成的.so文件作为程序的一部分,在运行发生异常时同样会造成程序崩溃。不同于Java代码异常造成的程序崩溃,在NDK的异常发生时,程序在Android设备上都会立即退出,即通常所说的闪退,而不会弹出“程序xxx无响应,是否立即关闭”之类的提示框。 NDK是使用C/C++来进行开发的,熟悉C/C++的程序员都知道,指针和内存管理是最重要也是最容易出问题的地方,稍有不慎就会遇到诸如内存无...

android脱壳之DexExtractor原理分析[zhuan]【图】

http://www.cnblogs.com/jiaoxiake/p/6818786.html内容如下导语:上一篇我们分析android脱壳使用对dvmDexFileOpenPartial下断点的原理,使用这种方法脱壳的有2个缺点:1. 需要动态调试2. 对抗反调试方案为了提高工作效率, 我们不希望把宝贵的时间浪费去和加固的安全工程师去做对抗。作为一个高效率的逆向分析师, 笔者是忍不了的,所以我今天给大家带来一种的新的脱壳方法——DexExtractor脱壳法。 资源地址:DexExtractor源码:...

Android提权漏洞CVE-2014-7920&CVE-2014-7921分析【图】

没羽@阿里移动安全,更多技术干货,请访问阿里聚安全博客这是Android mediaserver的提权漏洞,利用CVE-2014-7920和CVE-2014-7921实现提权,从0权限提到media权限,其中CVE-2014-7921影响Android 4.0.3及以后的版本,CVE-2014-7920影响Android 2.2及以后的版本。Google直到Android5.1才修复这2个漏洞。该漏洞[1]披露过程如下:2016年1月24日漏洞作者发布了漏洞分析及exploit[2],拿到exploit后在几个Android版本上均没能运行成功,遂...