![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 92
Jason_Wang
浙大控制系硕士在读,喜欢看心理学社会历史书籍对机器学习大数据感兴趣,关注金融领域的量化投资。
展开
-
Android应用开发调试
开始学习Android电影原创 2014-07-13 06:32:25 · 640 阅读 · 0 评论 -
Android FOTA 升级流程
Android设备的系统升级有两种方式:(1)下载更新包到手机后,手动安装,即所谓“卡刷包”的形式更新系统;(2) 通过 Over-the-air(OTA)的方式更新系统。这里有一个专门的名字FOTA(Firmware Over The Air),FOTA有两种方式,一种是Full update,即将整个IMG置于升级包中,然后将升级包的IMG直接拷贝到系统;一种是Increamental upda原创 2016-08-18 11:17:34 · 18878 阅读 · 0 评论 -
Android 系统时间自动更新机制
Android中两种时间更新机制NITZNITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NITZ需要运营商网络支持(通过CS网络),目前国内电信、移动都支持NIT原创 2016-10-22 16:53:34 · 11106 阅读 · 1 评论 -
Android Binder 入门介绍
背景如今,操作系统都支持多进程,进程与进程之间如何通信(交换数据,相互调用),就是人们常说的跨进程通信(Inter-Process Communication)。 在Linux中,已经提供了好几种机制用于IPC:Signals: 最早的IPC方法,一个进程通过发送信号给另一个有相同UID/GID 进程或者在同一进程组的进程Pipes(包括 named pipes): Pipes是一个单向的用于连原创 2016-09-26 15:26:27 · 1078 阅读 · 1 评论 -
Android RILD运行机制详解
前言在上一篇文章里(http://blog.csdn.net/jason_wzn/article/details/53232022),简要介绍了Android RIL的架构。这一篇文章,就来看一看RILD相关的内容。Android RIL在HAL(Hardware Abstract Layer)层(即C++层)由三个部分组成:RILD是系统的守护进程,主要用于初始化LIBRIL以及启动厂商自定义的原创 2016-11-29 14:45:42 · 9765 阅读 · 3 评论 -
Android RIL概述
本博客所有文章欢迎转载;转载时请注明出处前言Android作为一个通用的移动平台,其首要的功能就是通话、短信以及上网等通信功能。那么,从系统的角度来看,Android究竟是怎么实现与网络的交互的了? 这篇文章里,就来看一看Android中负责通信功能的Telephony中间层,通常也被称之为RIL(Radio Interface Layer)的具体实现原理与架构。Andro...原创 2016-11-19 16:56:36 · 20193 阅读 · 17 评论 -
Android 系统服务管家servicemanager启动过程详解
Android考虑到移动设备耗电以及跨进程通信效率等因素,基于OpenBinder专门为进程通信开发了一套框架:binder。例如,客户端程序需要获取WindowManager,TelephonyManager等系统服务时,就需要通过binder这个中介来负责数据与指令的传输。那么,Android提供了如此多的系统服务(可达上百个,可通过 adb shell service list查看),又是谁在原创 2017-01-17 15:16:13 · 5891 阅读 · 0 评论 -
Android 系统服务TelecomService启动过程分析
由于一直负责的是Android Telephony部分的开发工作,对于通信过程的上层部分Telecom服务以及UI都没有认真研究过。最近恰好碰到一个通话方面的问题,涉及到了Telecom部分,因而就花时间仔细研究了下相关的代码。这里做一个简单的总结。主要分以下几个部分:什么是Telecom服务?其作用是什么?Telecom模块的启动与初始化过程;以实际通话过程为例,telephony收到来电后原创 2017-02-27 17:46:48 · 9804 阅读 · 3 评论 -
Android Handler消息机制从原理到应用详解
对于跨进程IPC通信,Android提供了一个完整的框架Binder,而对于线程之间的通信,Android同样提供了一个强大的消息机制:Handler/Looper/MessageQueue,通过Handler我们很容易的实现在UI线程与其他线程之间的消息传递。这篇文章,就来看一看Android消息机制的具体应用以及原理。主要有3个方面:Android消息机制相关的基本概念;Android Ha原创 2017-02-08 16:16:48 · 1128 阅读 · 0 评论 -
Android如何注册服务到ServiceManager?
Binder作为Android进程通信的基础,在整个系统中扮演着十分重要的角色,理解binder的原理是能帮助我们更好的理解Android系统架构,如ActivityManagerService, WindowManagerService等运行机理。在上一篇文章里(http://blog.csdn.net/jason_wzn/article/details/54583373),着重介绍了Androi原创 2017-01-20 14:24:42 · 11273 阅读 · 0 评论 -
Android Binder 框架层详解
在了解完binder在native层以及驱动层的基本流程之后(参考Android如何注册服务到ServiceManager; Android 系统服务管家servicemanager启动过程详解 ),接下来这篇文章我们就来分析下binder在framework层(Java层)的具体原理与实现,重点围绕Java层如何添加服务到系统中这一主题展开。这里会谈到以下几个方面的问题:binder在Java原创 2017-01-23 10:24:37 · 3506 阅读 · 0 评论 -
Android Phone进程启动过程详解
之前解决开机搜网慢的问题时,由于Phone进程起来以后,才会主动连接RILD,因而在一定程度上Phone进程启动的时间会影响网络状态注册的快慢,适当的将Phone进程提前,可以将网络注册时间提前一点,让状态栏中信号显示的时间提前。那么,Android中作为系统的核心进程之一,Phone进程是如何启动的了?zui RIL运行机制请参考: http://blog.csdn.net/jason_wzn原创 2017-02-21 16:07:58 · 8302 阅读 · 3 评论 -
SIM逻辑模型与APDU
SIM(Subscriber Identity Module)是一种移动运营商用于提供给用户验证身份、接入网络等服务的UICC卡。一张SIM卡里存储了很多移动网络接入相关的数据,比如ICCID(UICC卡的ID),IMSI(International Mobile Subscriber Identity),验证秘钥(ki, Authentication key),LAI(Local Area Ide原创 2017-03-29 20:32:46 · 5096 阅读 · 1 评论 -
Android TelecomService的来电处理过程
在上一篇文章里,讲到了TelecomService的启动与初始化,这里我们着重以来电(Mobile Terminal)过程来分析一下TelecomService是如何传递通话信息并最终与上层UI交互的。主要分以下几个部分:来电后,Telephony中间层如何将通话通知到TelecomService;TelecomService如何建立通话连接;TelecomService如何告知UI来电信息原创 2017-03-03 12:13:48 · 5163 阅读 · 0 评论 -
Android 网络管家ConnectivityManager
Android提供了多种网络与数据传输通道,最常见的是WIFI和移动基站通信(Cellular),同时Android还可以将终端本身作为热点(Wifi Access Point),也可通过WIFI进行将两个终端直接进行连接,从而交互数据;同时还可利用蓝牙将WIFI作为数据热点对外提供数据热点,为其他设备提供网络接入。对于移动通信,不同的运营商提供了不同的服务,网络提供的服务能力也各不相同。那么,An原创 2017-05-03 17:52:15 · 21188 阅读 · 0 评论 -
Android 属性系统 详解
Android中保存了很多系统属性值,比如手机的操作系统版本号ro.build.version.release,SDK版本号ro.build.vrsion.sdk,芯片型号ro.chipname;用于配置USB连接类型的persist.sys.usb.config;Android虚拟机ART相关的配置dalvik.vm.image-dex2oat-Xms。原创 2017-05-11 11:26:57 · 3169 阅读 · 0 评论 -
如何在Android中利用AIDL添加service
如何在Android中利用AIDL添加serviceAIDL(Android Interface Definition Language,Android接口描述语言)用于定义Client与service进行跨进程通信的编程接口。AIDL简化了IPC通信时数据交换的流程,而程序员只需关心接口的实现即可。 注意:只有你需要其他应用程序可以通过IPC接口调用service或者需要service可以处理原创 2016-07-15 13:36:57 · 1551 阅读 · 0 评论 -
Android 开发之单元测试
Android中的测试主要基于JUnit测试框架,主要有两种类型:本地单元测试(Local unit tests): 位于 app/src/test/java/, 直接在本地JVM上运行,不用依赖于Android中间层的API。倘若单元测试时需要用到Android Framework层的特定模块,可以使用Mockito测试框架来代替这些模块对象,由此一方面可以将代码与Android系统本身隔离开,原创 2016-08-17 14:33:50 · 1049 阅读 · 0 评论 -
【转】Android 开发之----bootloader (LK)
LK是什么 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app转载 2014-07-02 17:24:49 · 733 阅读 · 0 评论 -
Windows下用Git下载android源码
首先你的电脑要安装好git,下载地址:https://code.google.com/p/msysgit/。打开git命令窗口输入git clone http://android.git.kernel.org/platform/frameworks/base android(此处为你自定义的文件夹名称,这里我取名叫android),我曾试过git clone git://android.gi转载 2013-12-10 22:34:10 · 1072 阅读 · 0 评论 -
ADB 使用教程
Android Debug Bridge(ADB)是一个多用途的命令行工具,通过它用户可以与模拟器或者安卓设备进行通信。 ADB采用的是Client-server模型来进行数据交换,其主要有三个部分组成:客户端(client)程序在开发机器上运行。用户可以通过一个ADB shell命令来激活客户端程序;另外,通过ADT plugin和DDMS工具也可以创建ADB客户端;服务端(Se原创 2016-01-05 16:54:33 · 4969 阅读 · 0 评论 -
View中Margin与Padding的区别
在设计Android UI的Layout时,为保持对齐与美观,常需要在View中添加适当的Padding以及View添加适当的Margin,两者具体有什么区别了? 简单的说,Padding是属于View的一部分,因此在调用getWidth()/getHeight()时,Padding是包含在View的大小之中的;而Margin属于ViewGroup/Layout的一部分,用于分割View与View原创 2016-01-26 10:25:58 · 721 阅读 · 0 评论 -
Android Init Language
The Android Init Language consists of four broad classes of statements,which are Actions, Commands, Services, and Options.All of these are line-oriented, consisting of tokens separated bywhi原创 2016-03-03 18:48:02 · 899 阅读 · 0 评论 -
android 中自动更新时间机制
本文转载自: http://www.2cto.com/kf/201409/334153.htmlNITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的转载 2016-03-31 14:37:21 · 1673 阅读 · 0 评论 -
Java Enum and Android Intdef/Stringdef annotation
本文转载自: https://noobcoderblog.wordpress.com/2015/04/12/java-enum-and-android-intdefstringdef-annotation/参考资料:http://developer.android.com/reference/android/support/annotation/IntDef.htmlWhen we转载 2016-04-01 13:40:11 · 1175 阅读 · 0 评论 -
android 图标解决方案汇总
本文转载自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0730/3245.html图标是决定一个app界面好坏的一个重要因素,但是也是程序员难以控制的因素,我们一直都希望有一套丰富的图标。不过如今越来越多的免费图标开始出现了,这些不仅仅是提供了几个可爱的图标而已,他们是成套的,形成了许多转载 2016-03-22 13:10:02 · 2727 阅读 · 0 评论 -
Android应用加入微信分享
一、申请你的AppIDhttp://open.weixin.qq.com/ 友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID二、官网下载libammsdk.jar包http://open.weixin.qq.com/download/?lang=zh_CN三、将libammsdk.jar复制到工程的libs目录四、转载 2016-04-25 11:27:48 · 519 阅读 · 0 评论 -
SIM结构模型(Logical model of SIM)
本文转载自: http://techiezjunkyard-sim.blogspot.kr/2011/12/logical-model-of-sim.html以下主要介绍SIM(Subscriber Identity Module) card的逻辑接口,附件是一篇有关SIM通信协议的介绍性的文章。The files are organised in a hi转载 2016-05-05 17:17:58 · 3334 阅读 · 0 评论 -
Android.mk 语法
IntroductionThis document describes the syntax of Android.mk build file written to describe your C and C++ source files to the Android NDK. To understand what follows, it is assumed that you have re原创 2016-06-15 14:47:45 · 1076 阅读 · 0 评论 -
Java/Android源码在线阅读网站
最近发现一个不用翻墙也可以在线阅读 Java/Android 源代码的网站,上面有各种版本的源码,很实用: GrepCode原创 2016-01-25 11:28:57 · 2803 阅读 · 0 评论 -
Android开机启动流程
Android是一个基于Linux内核的操作系统,了解Android开机流程有助于理解Linux系统的开机过程。Android系统开机流程图如下所示: Fig. Android B原创 2016-08-22 17:14:23 · 1797 阅读 · 0 评论 -
Android编译系统介绍
Android编译系统基于GNU make, 也经常采用Python和bash脚本工具。不同于其他基于make的递归型编译系统,Android通过一个脚本搜索所有目录以及子目录,直到发现一个Android.mk文件为止。下图为Android编译系统的结构图(来自Embedded Android).Android编译系统主要包含了两个部分:android/build/ 该文件夹包含了整个编译系统的定原创 2016-09-13 16:02:20 · 748 阅读 · 0 评论 -
Android如何绘制View
应用程序Activity启动时,Android是如何对每个Activity中的View进行绘制的了?接下来,我们就来看一看整个绘制的过程。当activity获得焦点(Focus)时,系统会发送消息要求绘制布局。Android中间层会负责整个绘制过程,但在这之前,Activity需要提供布局结构的根节点(root node)。获取到布局的根节点后,开始对布局树(所有的View组成一个View Tree原创 2016-11-09 15:02:46 · 1194 阅读 · 0 评论