自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xcy2011sky

一步一步深入android的框架Framework

  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android应用层监听home键

在android的开发中,经常会出现应用层监听home键的情况,通过android的源码了解到在应用层时根本无法收到Home键的,因为InputManagerService在按键事件分发的过程中已经被PhoneWindowManager处理掉。根本不会通过InputChannel上报的Android应用的viewRoot中,更不会发送到Activity中。因此需要获取Home键,只能通过间接的方式

2015-11-10 11:20:46 1288

原创 交叉编译工具链导致错误

这两天在搞opencl的适合,发现用用之前的交叉编译工具arm-linux-gnueabi-g++ ,一直报如下错误:arm-linux-gnueabi-g++ -fpic -shared -I../include/ -o libOpenCL.so opencl_stubs.c/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../

2015-11-06 19:08:51 4437 1

原创 android 非root实现静默安装

在网上各种方法实现静默安装,但是大多数是采用方法是在root权限下,通过执行pm install 的方式去安装apk,但是很多情况下。获取root权限并不是很容易的。本文介绍一种非root情况下的一种静默安装方式,这种方式在智能电视运用的场景很多,很多例如当呗,沙发网等应用市场都是通过这种方式实现的非root权限的静默安装。基本原理:在应用程序内创建一个单独进程,执行adb ins

2015-11-04 19:38:39 2303 1

转载 Android Framework------之PowerManagerService的功能

自从接触Android系统已经一年多了,这段时间内对于Android系统的Framework层的各个模块都有过接触,有时也做过分析,但是一直没能形成一个总结性的东西。这次下定决心,好好整理整理对于Android系统的学习梳理一下自己的思路。本文一方面是为了自己梳理下知识,文中涉及的内容,基本是拾人牙慧,很少有自己的东西,最多也就算是自己的总结;除此作用之外,如果能为后来者引玉,也算是一点功德吧。这

2015-04-13 20:23:57 1240

转载 Android 文件操作

在android中的文件放在不同位置,它们的读取方式也有一些不同。一、资源文件的读取:      1) 从resource的raw中读取文件数据:?1234567891011121314151617181920212223String res = ""

2014-11-20 13:49:57 663

原创 Android系统添加config.xml 新配置

在日常系统开发中,经常需要在adroid的framework修改

2014-11-11 12:56:59 10879 1

原创 Android系统开发必备知识

1、launcher的布局太居中,要想两边拉伸    apps_customize_pageLayoutPaddingLeft">40dp    apps_customize_pageLayoutPaddingRight">40dpapps tab栏的宽度( Launcher2 icon 数目、大小) \packages\apps\Launcher2\res\layou

2014-11-11 12:00:27 4660

原创 Android的JNI总结

在android的应用层开发过程中会经常使用ndk变异

2014-11-07 11:41:59 1644

转载 Android framework——Activity的启动和创建

最近学习Android相关知识,感觉仅仅了解Activity几个生命周期函数基本上没有任何意义的;于是想深入了解一下Activity到底是怎么一回事怎么运行来的;里面的东东真是叫个庞大;现在只能简单的了解其框架性的概念和流程;一 Activity概念  Android的核心不是Application而是Activity,至少在我们开发的时候是这样的;  Activity就是被用

2014-10-11 15:48:51 1237

原创 Android的内存分析

1.内存分析常见的参数:

2014-10-11 14:36:11 1176

转载 SELinux框架

1. 内核架构    SELinux在所有内核资源上提供增强的访问控制,在它目前的格式下,SELinux是通过LSM框架合并到内核中的。 1.1 LSM框架      LSM框架的思想是允许安全模块以插件形式进入内核,以便更严格地控制Linux默认的基于身份的任意访问控制(DAC)安全性。LSM在内核系统调用逻辑中提供了一套钩子(hooks),这些钩子通常放在标准Linux访问检查

2014-09-24 16:12:29 1093

转载 Android 内核安全机制-selinux简介

SELinux    一.简介SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GPL项目,它拥有一个灵活而强制性的访问控制结构,旨在提高Linux系统的安全性,提供强健的安全保证,可防御未知攻击,相当于B1级的军事安全性能。比MS NT的C2等高得多。SELinux起源于自1980开始的微

2014-09-24 15:16:45 15890

原创 PackageManagerService详解

本篇主要分析了系统启动阶段包管理服务的启动流程,其中的几个接口在 apk 安装时也会被调用。包管理服务启动时主要做的工作大致有如下几方面:   1. 建立 java 层的 installer 与 c 层的 installd 的 socket 联接,使得在上层的 install,remove,dexopt等功能最终由 installd 在底层实现   2. 建 立 PackageHa

2014-09-03 17:29:23 1578

转载 Android 异步处理AsyncTask

AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l  简单,快捷l  过程可控       使用的缺点:l

2014-08-27 10:35:31 527

转载 Java 设计摸索--访问者模式

访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。分派的概念  变量被声明时的类型叫做变量的静态类型(Static Type),有些人又把静态类型叫做明显类型(Apparent Type);而变量所引用的对象的真实类型又叫做变量的实际类型(Actual Type)。比如:Lis

2014-08-25 10:45:08 786

原创 Android 的Intent的解析

ActivityAndroid中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态)。对于Activity,关

2014-07-30 10:25:11 629

原创 Android的代码同步repo

在工作中的经常使用repo命令,但是有时会忘记一些命令和遇到的一些问题,记录下来方便已经查询。问题1:找不到命令:repo方法:在下载android源码的时候用repo时提示找不到命令,可以用如下方法解决,在命令行中输入如下两行:echo 'export PATH=$PATH:$Home/bin' >>~/.bashrcexport PATH=$PATH

2014-05-27 10:44:25 3236

转载 Activity启动流程

最近学习Android相关知识,感觉仅仅了解Activity几个生命周期函数基本上没有任何意义的;于是想深入了解一下Activity到底是怎么一回事怎么运行来的;里面的东东真是叫个庞大;现在只能简单的了解其框架性的概念和流程;一 Activity概念  Android的核心不是Application而是Activity,至少在我们开发的时候是这样的;  Activity就是被用

2014-05-22 16:39:03 1235

原创 Android的Framework分析---5 ActivityManager分析

Android的ActivityManager的源码分析

2014-05-22 16:24:10 4088

转载 经典语录

1.莎士比亚说:    再好的东西,都有失去的一天。   再深的记忆,也有淡忘的一天。   再爱的人,也有远走的一天。   再美的梦,也有苏醒的一天。   该放弃的决不挽留。   该珍惜的决不放手,分手后不可以做朋友,因为彼此伤害过!   也不可以做敌人,因为彼此深爱过。  2.几米说:    当你喜欢我的时候,我不喜欢你,   当你爱上我的时候,我喜欢

2014-05-22 15:06:49 662

原创 Android的Framework分析---4硬件抽象HAL

android 的HAL硬件抽象层的原理

2014-05-22 14:58:09 954

原创 Windows上python开发---5.异常处理

Python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。一旦引发而且没有捕捉SystemExit异常,程序执行就会终止

2014-05-21 15:48:39 823

原创 如何查看ramdisk.img 的文件

1.file 命令查看文件格式   $ file ramdisk.img      uramdisk.img: u-boot/PPCBoot image可以看出它并不是压缩文件,它是一个被添加了头信息的文件2,用dd命令还原    dd if=ramdisk.img  of=ramdisk bs=64 skip=1   现在再用file查看:    $file ra

2014-05-21 14:16:11 2671

原创 Android 的odex的文件反编译

Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反**,因为没有没有dex文件的apk是无**常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无**常导出使用可能想到的

2014-05-21 14:13:26 3927

转载 如何解包/编辑/打包boot.img文件

目录1、背景知识2、boot和recovery映像的文件结构3、对映像文件进行解包、编辑、打包的常规方法3.1、另一种解包、编辑、打包的方法4、将新的映像刷回到手机5、解包、编辑、打包为我们带来了什么6、本文讲的内容与使用update.zip刷机包不是一码事正文1、背景知识Android手机的文件系统有许多存储器组成,以下是在adb shell下面的

2014-05-21 14:11:40 1135

转载 Android 查看内存的方法

android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 native+dalvik 不能超过最大限制。android程序内存一般限制在16M,当然也有24M的。      用以下命令可以查看程序的内存使用情况:      adb shell du

2014-05-21 14:03:13 672

原创 Window上python开发--4.Django的用户登录模块User

django的用户注册和登录

2014-05-21 14:00:13 18260 5

原创 Linux的查看文件大小和磁盘大小

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。    du可以查看文件及文件夹的大小。    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。    下面分别简要介绍    df命令

2014-05-21 10:46:04 1458

原创 windows上Python开发--3.Django的基础知识

Django的基础知识,包含urls,view和form。已经model的建立。实际的代码案例

2014-05-20 10:25:18 2934

原创 Android 使用BaseAdapter实现异步图片加载

BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter,1、Adapter类简介1)、Adapter相关类结构如下图所示:自定义Adapter子类,就需要实现上面几个方法,其中最重要的是getView()方

2014-05-19 17:40:31 5424 1

原创 没有人比你更在乎你的未来--李开复

如果你对未来迷茫,希望你能把握时间,找到自己的天赋和兴趣。这样,你在大学毕业的时候,才会真正拥有一片充满自信的天空。     我很喜欢英国小说家狄更斯的作品。他写过一部短篇小说叫《圣诞欢歌》,故事讲的是一位本性善良,但因为受环境影响,变得非常小器、吝啬、刻薄的商人,他在平安夜被三个精灵分别带到了自己过去、现在和未来的生活场景,看到了未来的自己,并因此彻底醒悟,领会到生活的意义,决心改过自新

2014-05-19 13:34:36 1227

原创 Android Framework 分析---3PackageManager 分析

Android的PackageManger源码分析

2014-05-19 13:30:39 3095

原创 Windows上python开发--2安装django框架

windows上配置django的开发环境

2014-05-17 21:22:10 8532 2

原创 Window上python 开发--1.搭建开发环境

在windows下搭建python开发环境

2014-05-17 20:25:58 2702

原创 C++关键字this

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn; } 1. this只能在成员函数中使用。全局函数,静态函数都

2014-05-16 23:33:40 3190

原创 Android Framework 分析---2消息机制Native层

在Android的消息机制中,不仅提供了供Application 开发使用的java的消息循环。其实java的机制最终还是靠native来实现的。在native不仅提供一套消息传递和处理的机制,还提供了自定义文件描述符的I/O时间的监听机制。下面我们从具体代码中分析一下。Native层的关键类:Looper.cpp.该类中提供了pollOnce 和wake的休眠和唤醒集中。同时在构造函数中

2014-05-16 12:19:29 4420

转载 Epoll模型

1、为什么select落后    首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜索内核源代码得到:include/linux/posix_types.h:#define __FD_SETSIZE         102

2014-05-15 18:05:28 540

转载 HID驱动分析

一:前言继前面分析过UHCI和HUB驱动之后,接下来以HID设备驱动为例来做一个具体的USB设备驱动分析的例子.HID是Human Interface Devices的缩写.翻译成中文即为人机交互设备.这里的人机交互设备是一个宏观上面的概念,任何设备,只要符合HID spec,都可以称之为HID设备.常见的HID设备有鼠标键盘,游戏操纵杆等等.在接下来的代码分析中,可以参考HID的spec.这

2013-11-26 21:17:32 7901 2

原创 Android自定义用户数据

首先,在/device/vimicro/v971/目录下新建custom目录,再创建目录overlay\frameworks\base\core\res\res\drawable 在下面放上你要准备替换的默认墙纸default_wallpaper.jpg 然后,在custom目录下创建device_custom.mk文件,在里面写上#设置覆盖目录DEVICE_PACKAGE_OVERLAY

2013-11-25 14:17:53 895

原创 Android的源码的多产品分支

我们在日常的项目开发过程中,经常出现同一份源码,编译不同的产品和而且每个产品功能差别不大,只是在android的framework层修改一些地方。下面简单的介绍一下,多个产品分支的做法。1.在创建不同的产品目录例如:在device/xxx/xxx 产品目录。配置该目录下的Android.mk AndroidProducet.mk。2.LINK或者COPY原则(涉及以上第一点的目

2013-11-20 13:24:16 2731 1

Qt模板使用大全

个人总结的Qt模板的使用方法。包括了QList,QStringList,QVector 以及QMap的高级使用方法。

2011-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除