Android
文章平均质量分 95
leopard21
专注Linux和Android
展开
-
Android 中菜单(Menu)键和ActionBar
Android 进入 4.0 (ICS)版本之后,虚拟按键渐渐得到了推广。同时,传统的物理菜单键逐渐被淘汰。尤其是对于平板设备,自从 Android 3.0 版本起就不再支持实体菜单键,菜单被收纳至顶部 ActionBar 之中。这一改变事实上引起了不少版本兼容性问题。从 Android 3.0 (Honeycomb)起,程序不得不同时考虑具备传统菜单键和不具备传统菜单键的设备。这种情况下,可转载 2014-07-04 10:32:26 · 855 阅读 · 0 评论 -
不能下载Android源码的解决方法
Android源码下载提示406和443错误的解决方法error: Failed connect to android.googlesource.com:443;Connection refused while accessinghttps://android.googlesource.com/a/platform/frameworks/base/info/refsfatal: HTTP原创 2014-03-22 04:54:02 · 3657 阅读 · 0 评论 -
Android事件处理流程分析
本文主要针对Android4.4源码的事件处理流程进行了分析。原创 2014-05-28 13:25:11 · 3311 阅读 · 1 评论 -
Android Floating App的实现
本文实现了一个Floating App,实际上是一个service,通过Servicechua原创 2014-07-08 15:56:35 · 1671 阅读 · 0 评论 -
Android Touch事件在View层级结构中的传递机制
在介绍Touch事件的传递之前,先了解一下两个重要的方法原创 2014-07-08 14:04:47 · 856 阅读 · 0 评论 -
Android启动过程分析
一、Android Init.c执行流程Android中的内核启动后,kernel会启动第一个用户级别的进程:init,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程。init进程对应的代码在android源码目录中的:system/cor原创 2014-04-23 15:14:29 · 573 阅读 · 0 评论 -
Android壁纸设定流程分析
本文主要基于Android4.4说明,如何为应用程序设置壁纸原创 2014-06-18 23:57:25 · 4703 阅读 · 0 评论 -
Android hierarchyviewer不能使用的解决方法
[2014-06-20 16:32:17 - hierarchyviewer]Unable to get view server version from device emulator-5554[2014-06-20 16:32:17 - hierarchyviewer]Unable to get view server protocol version from device emulat原创 2014-06-20 18:21:43 · 3251 阅读 · 0 评论 -
Android平台版本特性介绍
2014谷歌I/O开发者大会于北京时间6月26日0点在美国旧金山举行,发布全新移动操作系统Android L、Android Auto车载系统、Android Wear智能手表系统以及低价Android手机参考方案Android One等,试图全面智能化人们生活。此次大会谷歌全线布局,旨在形成Android闭环,从移动设备、穿戴设备、智能家居全方位打造Android生态圈。Android L(原创 2014-10-22 07:24:33 · 1905 阅读 · 0 评论 -
Android设备安装BusyBox
Android adb shell命令是常见Linux命令的阉割缩水版原创 2014-10-23 13:27:35 · 596 阅读 · 0 评论 -
Android开发相关资源下载
Android SDK可以从官方网站上下载,原创 2014-10-21 15:52:25 · 1003 阅读 · 0 评论 -
Android adb logcat的使用
*注:可以用 adb logcat > 路径/文件名 来保存, 此命令执行之时起的全部日志信息到一个文件里,ctrl + C 结束日志输出; 后面不加 > 路径/文件名 的话,则在 stdout (终端窗口)中输出!例如:$ adb logcat -v long Checkin *:S > ~/桌面/log.txt一、在 Java 与 C 语言中输出日志:1) Ja原创 2014-11-21 17:05:35 · 672 阅读 · 0 评论 -
Android资源
Android开发者网站(官网)http://developer.android.com/index.html可以下载原创 2014-04-25 13:09:16 · 546 阅读 · 0 评论 -
Android adb setuid提权漏洞的分析
作 者: Claud时 间: 2011-07-07,13:03:41链 接: http://bbs.pediy.com/showthread.php?t=136707去年的Android adb setuid提权漏洞被用于各类root刷机,漏洞发现人Sebastian Krahmer公布的利用工具RageAgainstTheCage(rageagainstthecage-a转载 2015-01-30 17:22:09 · 784 阅读 · 0 评论 -
Android 内存管理 - Low Memory killer & OOM
Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越转载 2015-02-12 06:41:19 · 610 阅读 · 0 评论 -
Android recovery工作流程
Android Recovery: 功能简介Android支持Recovery模式。在某些操作之后,系统会自动重启并进入到Recovery模式,用户按组合键开机(HOME+POWER),也可进入Recovery模式。该模式提供如下功能:1、擦除用户数据恢复系统到出厂模式,即擦除用户数据和缓存数据。2、系统升级系统升级的概念比较广,包括系统文件的升级、恢复损害的系统数据、firm转载 2015-02-12 17:29:21 · 709 阅读 · 0 评论 -
Android Obb文件
从Android 2.3开始新增了一个OBB文件系统和StorageManager类用来管理外部存储上的数据安全。如果你过去开发过Symbian S60第三版或以上的版本可能发现都有一个隔离的文件系统,仅根据自己应用的UID才能读取,当然这样的设计在iOS和WP7均实现了,eoe提示大家这种叫做隔离文件系统,为什么Android 2.3的android.os.storage.StorageMana转载 2015-04-23 12:57:56 · 3837 阅读 · 0 评论 -
Android Netd介绍
Netd 就是Network Daemon 的缩写,表示Network守护进程。原创 2014-07-03 17:03:26 · 2419 阅读 · 0 评论 -
Android窗口类型
WindowManager会根据窗口的类型来决定Z-Order,通过Z-Order也就决定了窗口从上到下的显示顺序。下表个表明了窗口类型与Z-Order的关系。表中layer值越大表示窗口越靠上。原创 2014-07-22 09:22:33 · 3877 阅读 · 0 评论 -
Android数据备份
原文 http://developer.android.com/guide/topics/data/backup.html 快速查看· 将用户数据备份到云中心以防丢失。· 如果用户升级到运行Android的新设备,程序可以恢复用户数据到新设备中。· 可方便地用BackupAgentHelper备份Sha转载 2014-07-22 06:36:34 · 591 阅读 · 0 评论 -
Android 4.2 输入流程分析
Android 4.2 輸入流程研究心得1. 前言 Android中管理Input的兩個主要相關角色, 一是WindowManagerService, 一是跟View相關的ViewRootImpl. 基本原理方向從2.3到目前的4.2都一樣,在 Android app一啟動之後, ViewRootImpl 就會先跟 WindowManagerService 建立inputC转载 2014-04-30 14:48:08 · 523 阅读 · 0 评论 -
Android Intent传输二进制数据
正常情况下四大组件间传递数据直接通过Intent的putExtra和getExtra方法存取即可,无需再创建一个Bundle对象。Intent 的putExtra和getExtra 其实是和Bundle put和get方法一一对应的,在Intent类中有一个Bundle的mExtras成员变量,所有的putExtra和getExtra方式实际是调用mExtras对象的put和get方法进行存取转载 2014-04-14 13:46:34 · 1031 阅读 · 0 评论 -
Android启动Activity流程中的Token分析
以下分析基于Android4.3.原创 2014-04-29 13:58:55 · 4034 阅读 · 0 评论 -
Android源码开发配置总结
带着问题出发1、Android的文件系统结构是怎样的,我们安装的程序放在那里?编译Android源码之后,在out/target/product/generic一些文件:ramdisk.img、system.img、userdata.img、 system、 data、root其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包转载 2014-03-20 06:11:36 · 579 阅读 · 0 评论 -
Android HAL 分析
本文是基于android4.0.3.对应其他低版本的代码,可能有所差异,但基本大同小异。 Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user space。而Android是基于Apar转载 2014-03-21 05:55:53 · 475 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l ServiceManager,这是Androi转载 2014-05-04 16:34:29 · 402 阅读 · 0 评论 -
Android AIDL proxy/stub 分析
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。原创 2014-03-21 05:48:23 · 1379 阅读 · 0 评论 -
Android之Qemu和Goldfish
一. Goldfish和qemu介绍Google在开发Android系统的同时,使用qemu开发了针对每个版本的一个模拟器,这大大降低了开发人员的开发成本,便于Android技术的推广。qemu是一个开源的模拟处理器软件,而Google使用qemu模拟的是ARM926ej-S的Goldfish处理器,如果开发人员在没有目标开发板的情况下,要对硬件进行操作的话,必然要去操作Android底层的驱原创 2014-03-21 14:57:38 · 10502 阅读 · 0 评论 -
Activity的启动模式
启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置;启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;standard:模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。singleTop:如果在任务的栈原创 2014-04-10 11:35:56 · 459 阅读 · 0 评论 -
adb shell dumpsys的使用
该命令用户打印出当前系统信息,默认打印出设备中所有service的信息,可以在命令后面加入activity参数,只打印出activity相关的信息。原创 2014-04-10 13:23:33 · 4319 阅读 · 0 评论 -
Android权限管理
Android的权限系统是基于Linux,但又增加了很多自己的控制模块。总体上来说,其分为以下几部分权限系统:1. userid : 继承于linux,对于多个app,通过shareuid的方式可以使用同一个userid,主要承担一些目录访问权限之类的工作,比如私有目录只能由同一uid应用访问2. 安装level:system level or app level,这个是根据应用的安装原创 2014-05-10 21:00:29 · 1971 阅读 · 0 评论 -
Android取得Activity和Service信息
String getTopActivity(Activity context){ ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE) ; List runningTaskInfos = manager.getRunningTasks(1)原创 2014-05-14 13:45:18 · 619 阅读 · 0 评论 -
Android应用程序的sharedUserId,process与签名总结
通常情况下,一个Android应用程序(APK)原创 2014-05-21 15:16:43 · 1870 阅读 · 0 评论 -
Android 字库
1. Andoridの既存Font Android4.4 既存的Font保存在frameworks/base/data/fonts目录下,除了包含一些字库外,还包含一些Font配置文件 system_fonts.xml是Android默认Font的配置文件 Android4.4 既存的Font如下: AndroidClock_Highlight.原创 2014-06-26 16:18:37 · 1667 阅读 · 2 评论 -
Android Them&Style
AndroidTheme(主题)和Style(样式)都是一个包含一种或者多种格式化属性的集合。比如包含Button中字体的大小和颜色以及背景等。一般在xml文件中进行描述。它们之间的区别在于:1.Theme是针对窗体级别的,改变窗体样式;2.Style是针对窗体元素级别的,改变指定view或者Layout的样式。当系统加载xml文件并解析后,系统会将这些属性应用于窗口或指定的vie原创 2014-06-26 16:42:54 · 585 阅读 · 0 评论 -
Android Binder设计与实现 - 设计篇
关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Bi转载 2014-05-04 16:30:46 · 564 阅读 · 0 评论 -
Android消息处理机制(Handler、Looper、MessageQueue与Message)
Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler 平时我们最常使用的就是Message与Handler了,如果使用过HandlerThread或者自己实现类似HandlerThread的东西转载 2014-05-04 14:32:26 · 823 阅读 · 0 评论 -
Linux下找不到Android设备的解决方法
首先按照 SDK 上的说明建立 udev 的 rules 文件,然后:在 Ubuntu 11.04 下通过usb连接 Android设备,使用 adb 时,会返回无法找到设备,解决办法如下:1. 在终端运行 lsusb会发现结果有会有如下类似记录:Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer转载 2014-03-12 12:37:16 · 940 阅读 · 0 评论