android Framework
夜风雪
从事android框架开发工作
展开
-
如何正确自定义handler
来自DeskClock/src/com/android/deskclock/alarms/starclock/ui/BaseMediaListActivity.java的源码问1、为什么是静态 2、为什么使用WeakReference保存一遍activity。 54 private static class InnerHandler extends Handler { 55原创 2017-02-22 14:53:43 · 2194 阅读 · 0 评论 -
Android.mk的用法|静态库|动态库
一个Android.mk file用来向编译系统描述你的源代码。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中列出头文件和依赖文件,NDK编译系统将会为你自动处理这些问题。在升级NDK后,你应该得到新的toolchain/platform支持,而且不需要改变你的Android.mk文件。 先看一个简单的例子:一个简单的"hello world",比如下面的文件:转载 2015-07-30 16:29:47 · 1402 阅读 · 0 评论 -
看看CameraClient 的client->initialize(mModule) 过程
CameraClient 的client->initialize(mModule) 过程原创 2015-04-21 17:34:55 · 1467 阅读 · 0 评论 -
Android framework camera回顾-CameraService 初始化中的几个问题
CameraService的instantiate方法哪里实现的?CameraService的onFirstRef()是谁调用的。原创 2015-04-20 17:09:08 · 1541 阅读 · 0 评论 -
Android framework camera回顾-Camera ICameraClient ICamera CameraClient之间关系(2)完整图
Camera ICameraClient ICamera CameraClient 之间关系原创 2015-04-16 10:32:28 · 1391 阅读 · 0 评论 -
Android framework camera回顾-Camera CameraClient ICamera之间关系(1)-cl和c->mCamera去哪儿
Camera CameraClient ICameraClient ICamera 之间关系原创 2015-04-15 17:04:21 · 1040 阅读 · 0 评论 -
有史来最大改变 Android 5.0十大新特性
距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗。当我们首次看到Android 5.0 Lollipop这个名字的时候,就已经意识到这将是Android系统有史以来变化最大的一次升级。首先,在感官界面设计上,我们彻底迎来了Android系统的扁平化时代,新的系统不仅使用了新的配色,同时看起来也转载 2015-03-11 11:14:10 · 465 阅读 · 0 评论 -
启用SEAndroid,手机root后还安全吗?
你是否仍在为手机安全感到困扰?是否担心手机root之后会带来更大的安全隐患?SEAndroid会帮助你解决困扰! SEAndroid基于NSA(美国国家安全局)开发的SELinux (Security-Enhanced Linux),NSA在Linux社区的帮助下开发了基于Linux的强制访问控制(MAC),在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文转载 2015-03-10 17:39:55 · 1119 阅读 · 0 评论 -
init.rc文件里面启动c++程序,通过jni调用java实现
init.rc文件里面启动c++程序,通过jni调用java实现原创 2014-11-13 14:55:02 · 1676 阅读 · 2 评论 -
c++ 层实现binder服务例子
c++ binder实现例子原创 2014-11-02 13:34:47 · 3424 阅读 · 0 评论 -
monkey测试有如下FATAL log 分析
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------Abort message: 'FORTIFY: FD_SET: file descriptor >= FD_SETSIZE'原创 2017-02-04 17:57:23 · 3756 阅读 · 5 评论 -
SensorService 初始化5(类图篇sensor注册监听原理)
原创 2016-05-20 18:31:32 · 695 阅读 · 0 评论 -
SensorService 初始化4(类图篇sensor注册监听原理)
原创 2016-05-20 18:29:21 · 610 阅读 · 0 评论 -
SensorService 初始化3(类图篇)
原创 2016-05-20 18:12:42 · 448 阅读 · 0 评论 -
SensorService 初始化2(类图篇)
原创 2016-05-20 18:12:00 · 433 阅读 · 0 评论 -
SensorService 初始化(更新中)
1、SystemServer启动,执行run>nativeInit> 启动SensorService 2、创建线程去初始化SensorService3、用从native层得到的sensor list(sensor_t)原创 2016-05-20 16:52:07 · 835 阅读 · 0 评论 -
Android Looper 分析2(图)
原创 2016-05-19 14:45:19 · 426 阅读 · 0 评论 -
Android Looper 分析1
一、prepare()干了几件重要的事: 依次构造了Looper(java)--> MessageQueue--> NativeMessageQueue--->Looper(native) 1、创建java层的Looper(在哪个线程创建就属于哪个线程)。 2、Looper构造方法中,创建了java层的消息队列(mQueue--MessageQueue),此时消息队列原创 2016-05-19 14:30:25 · 444 阅读 · 0 评论 -
Android native Thread实现 和Java Thread区别
Android native Thread实现 和Java Thread区别原创 2016-02-20 21:24:37 · 1754 阅读 · 0 评论 -
Android init.rc文件浅析 service class 选项
本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译.1 简述Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Services,Options.在init.rc文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格转载 2014-11-12 14:32:54 · 3758 阅读 · 0 评论 -
Android C++层LOG_NDEBUG
转自:http://blog.csdn.net/flyingqr/article/details/64073631. 下面是控制哪些log输出的宏/* * Normally we strip ALOGV (VERBOSE messages) from release builds. * You can modify this (for example with "#defi转载 2014-11-12 15:21:38 · 8370 阅读 · 0 评论 -
Android framework回顾(1) 前言
一直想写点什么,把自己的原创 2014-10-16 13:01:57 · 595 阅读 · 0 评论 -
shell 执行java 程序 sendkeyevents
Sending KeyEvents to an application via adbadb shell input text adb shell input keyevent or as an example how to send the character:adb shell input keyevent 62For key codes refer to K转载 2013-05-06 17:37:36 · 1052 阅读 · 0 评论 -
adb shell input 命令
adb命令可以模拟简单的按键事件,当触摸屏不好使的时候就可以用咯。上篇有提到adb devices命令,就是用usb连接到手机或平板,这个时候就可以用adb shell 命令打开手机或平板终端了。输入input 回车有:$ inputusage: input [text|keyevent] input text input keyevent 你可以转载 2013-05-06 15:57:07 · 1078 阅读 · 0 评论 -
anroid c编译 android.mk 的编写注意事项
1 #include 2 int main(){ 3 printf("hello worldlang \n"); 4 return 0; 5 } 1 LOCAL_PATH := $(call my-dir) 2 include $(CLEAR_VARS) 3 LOCAL_MODULE_TAGS := optional 4 L原创 2013-05-03 11:15:42 · 721 阅读 · 0 评论 -
Android中LocalSocket使用 进程通信
Android中LocalSocket使用一 Socket Socket最初用在基于TCP/IP网络间进程通信中,以客户端/服务器模式进行通信。实现异步操作,共享资源集中处理,提高客户端响应能力。Tcp通信基本流程: 服务器端 客户转载 2013-05-06 13:41:52 · 1440 阅读 · 0 评论 -
ubunt12.04 源 for 搭建android编译环境
#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/#deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/preci原创 2013-05-06 09:28:49 · 889 阅读 · 0 评论 -
android 创建socket 通信型service
仿照instaled写的1、声明 在system/core/rootdir/init.rc中添加:service testlang /system/bin/testlang # 名称 路径 class main socket dumpstate stream 0660 shell log #disabl原创 2013-05-16 15:58:03 · 1577 阅读 · 0 评论 -
anroid 源码(含kernel)网址
google kernel 源码https://android.googlesource.com/kernel/common.git源码https://android.googlesource.com/platform/manifest/+refs可是怎么下载源码 网上的方法都有问题 看下面转载的android 4.0内原创 2013-04-26 09:54:20 · 819 阅读 · 0 评论 -
git下载Android源代码(含kernel)
git下载Android源代码(含kernel)Android其实是分两部分的,一部分是上层系统部分,编译出来是system.bin; 另一部分是linux kernel,编译出来是zImage,这两部分需要分别下载编译。Git下载Android系统源码1、Git的安装在Ubuntu 8.04上安装git只要设定了正确的更新源,然后使用apt-get就可以了,有什么依赖问题转载 2013-04-26 07:26:42 · 2225 阅读 · 0 评论 -
android 源码域名变更 kernel download (下载)方法
对于开发android驱动或者进行android移植和定制的同仁们来说,获取android kernel源代码是必不可少的。 遗憾的是,google的android.git.kernel.org由于受到黑客攻击,已经停用,域名移至: android.googlesource.com而官方网站也未提供kernel的在线浏览,因此只能下载kernel再阅读了,显然,如下方法不可能再转载 2013-04-25 09:52:59 · 973 阅读 · 0 评论 -
使用android隐藏api实现亮度调节
使用android隐藏api实现亮度调节脚盆原创,转载请注明出处。Android 1.5之后将调节亮度的api隐藏了,不过android的源码中依然有方法可以实现,如下: ?IPowerManager power = IPowerManager.Stub.asInterface(ServiceManager转载 2013-06-06 15:03:07 · 819 阅读 · 0 评论 -
提示please define NDK_ROOT 。
如果你之前安装ndk的时候有声明ndk目录就可以直接执行build_native.sh脚本(前提是声明是以NDK_ROOT做标示)。如果没有声明直接执行则会提示please define NDK_ROOT 。Tips:声明很简单在.bashrc上添加然后source一下,或者直接export NDK_ROOT=[your target NDK_ROOT].验证成功与否可以这样:cd $ND转载 2013-04-22 14:35:09 · 3611 阅读 · 0 评论 -
Android framework回顾(2) sp 和 wp sp对象
sp wp T类直接关系,sp对象的理解原创 2014-10-19 10:17:55 · 1742 阅读 · 0 评论 -
Android framework回顾(3)binder利用及IBinder BpRefbase IInterface INTERFACE 之间关系
binder的是使用原理及IBinder BpRefbase IInterface INTERFACE 之间关系原创 2014-10-23 00:48:23 · 2687 阅读 · 0 评论 -
Android的NDK开发(3)————JNI数据类型的详解
/******************************************************************************************** * author:conowen@大钟转载 2013-10-30 14:39:40 · 635 阅读 · 0 评论 -
两个apk之间数据通信。(AIDL通信)
原能帮助,需要两个apk直接通信的同行。其实真的很简单。原创 2013-10-16 15:16:27 · 3929 阅读 · 0 评论 -
JNI里的数据类型 和签名方法
现在来介绍下JNI里的数据类型。在C++里,编译器会很据所处的平台来为一些基本的数据类型来分配长度,因此也就造成了平台不一致性,而这个问题在Java中则不存在,因为有JVM的缘故,所以Java中的基本数据类型在所有平台下得到的都是相同的长度,比如int的宽度永远都是32位。基于这方面的原因,java和c++的基本数据类型就需要实现一些mapping,保持一致性。下面的表可以概括:转载 2013-10-10 10:41:27 · 1018 阅读 · 0 评论 -
烧版本步骤 boot system userdata
langu@langu:~$ adb reboot bootloaderlangu@langu:~$ fastboot flash boot '/media/boot.img' sending 'boot' (5148 KB)...OKAY [ 0.171s]writing 'boot'...OKAY [ 0.756s]finished. total time: 0.9原创 2013-09-24 09:48:38 · 1453 阅读 · 0 评论 -
git apply 补丁 (制作patch,打patch)
假如,有这样的 目录层次 x/xx/xxx/xxx/ttt.c而 我的 当前位置 是在 x/下 ,执行git diff> test.patch在test.patch补丁文件里的路径信息是这样的:- - - a/xx/xxx/xxx +++b/xx/xxx/xxx 如果 应用 test.patch 的时候的 位置 是在 x/ 下,那转载 2013-06-24 15:19:26 · 1826 阅读 · 0 评论