随笔分类 -  Android

Android输入系统(4)——Reader、Dispatcher、App处理流程
摘要:一、两个线程启动过程 SystemService.java 启动 InputManagerService 服务 Service: InputManagerService.java JNI: com_android_server_input_InputManagerService.cpp InputM 阅读全文

posted @ 2019-05-17 23:21 Hello-World3 阅读(1607) 评论(1) 推荐(1) 编辑

Android——UI(1) (activity window decor)
摘要:1. activity window decor 之间的关系 android里:1个app里面有一个或多个window1个activity里有1个decor1个window有1个decor1个decor有多个viewgroup/layoutviewgroup/layout中有多个view. acti 阅读全文

posted @ 2019-05-17 23:06 Hello-World3 阅读(136) 评论(0) 推荐(0) 编辑

dump Java和C++函数调用栈
摘要:1. java代码中打印堆栈 (1) 通常的方法是使用exception的printStackTrace()方法: try { ... } catch (RemoteException e) { e.printStackTrace(); ... } (2) 测试Demo class Person { 阅读全文

posted @ 2019-05-17 17:31 Hello-World3 阅读(533) 评论(0) 推荐(0) 编辑

Android输入系统(3)——输入系统框架
摘要:1.优秀文档 android输入系统官方文档:http://source.android.com/devices/input/index.html 中文官方文档《深入理解Android 卷III》第五章 深入理解Android输入系统: http://blog.csdn.net/innost/art 阅读全文

posted @ 2019-05-13 19:17 Hello-World3 阅读(622) 评论(0) 推荐(0) 编辑

Android输入系统(1)—— 必备Linux知识: inotify epoll socketpair binder_fd 双向binder通信
摘要:一、inotify 和 epoll 1.Android不使用hotplug机制,使用的是inotify机制。inotify监听的是/dev/input目录。 2.使用inotify来监听文件的创建与删除,使用epoll来监听设备文件句柄的变化,包括inotify的fd。 3.epoll支持管道,FI 阅读全文

posted @ 2019-05-13 10:16 Hello-World3 阅读(900) 评论(0) 推荐(1) 编辑

Android灯光系统(5)——通知灯分析实验
摘要:一、通知灯系统学习 二、App对通知灯的使用 1.每个APP都有一个 ContextImpl 上下文对象,ContextImpl中的静态代码块注册了一些系统服务 3.App使用notification的流程 三、笔记 1.可只import一个类的静态成员import static android.s 阅读全文

posted @ 2019-05-06 15:40 Hello-World3 阅读(929) 评论(0) 推荐(0) 编辑

Android灯光系统(4)——电池灯分析实验
摘要:一、电池事件的广播的注册 二、电池事件的广播与处理 三、笔记 1.启动服务的流程 所以一个服务的启动,首先构造函数被调用,其次被调用的就是onStart()。 2.获取xml中系统定义的资源 3.BatteryService中使用LightsService的方法 四、例子App 由于Android5 阅读全文

posted @ 2019-05-06 14:02 Hello-World3 阅读(676) 评论(0) 推荐(0) 编辑

Android灯光系统(3)——背光灯控制实现
摘要:2.使用到内容观察者模式 3.App测试Demo MainActivity.java package com.example.mm.lcd_brightness; import android.os.Bundle; import android.provider.Settings; import a 阅读全文

posted @ 2019-05-05 12:02 Hello-World3 阅读(2056) 评论(1) 推荐(0) 编辑

Android灯光系统(2)——HAL实现
摘要:1.Android系统中定义了如下一些灯 2.编写lights的hal文件 好的参考例子,sony手机使用的,移植这个程序: https://android.googlesource.com/device/sony/lt26/+/master/liblight/lights.c移植后的hal文件如下 阅读全文

posted @ 2019-05-05 11:55 Hello-World3 阅读(1192) 评论(0) 推荐(0) 编辑

Android灯光系统(1)——led_class驱动实现
摘要:1.对灯光的要求 (1)亮度可调节,如背光灯(2)颜色可变化,如电池电量指示灯(3)能闪烁,如通知灯 2.Linux内核对led的支持 在Linux内核中已经实现了一个led class, 它里面已经实现了brightness的调节和blink,文件为:drivers/leds/led-class. 阅读全文

posted @ 2019-05-05 11:51 Hello-World3 阅读(2350) 评论(0) 推荐(0) 编辑

Android 消息处理机制
摘要:1.消息处理机制简介 主要用于进程内线程之间的通信,主线程一般调用looper()进行循环等待处理消息,其它线程向它发消息并指定消息的处理方法。 (1)涉及文件包括frameworks中的: Looper.java Handler.java MessageQueue.java Message.jav 阅读全文

posted @ 2019-05-02 00:52 Hello-World3 阅读(1091) 评论(0) 推荐(0) 编辑

LED硬件访问服务(2)——JNI/HAL
摘要:一、系统编程 1.SystemServer.java类中提供了main()方法,说明它是以一个进程的方式存在的,启动后直接执行其run() 2.注册服务ServiceManager.addService("vibrator", vibrator);通过addService来告诉系统,告诉系统指的是s 阅读全文

posted @ 2019-04-30 00:43 Hello-World3 阅读(967) 评论(0) 推荐(0) 编辑

JNI加载hal的dlopen()相关操作
摘要:1.函数集合 2.Demo例子 caculate.c用于编译成一个库 int add(int a,int b) { return (a + b); } int sub(int a, int b) { return (a - b); } int mul(int a, int b) { return ( 阅读全文

posted @ 2019-04-29 14:33 Hello-World3 阅读(625) 评论(0) 推荐(0) 编辑

LED硬件访问服务(1)——AS App编写
摘要:一、Android Studio应用编程 1.应用程序界面layout对应的界面是activity_main.xml,后台对应的java文件是MainActivity.java,修改activity_main.xml来修改UI显示效果,点击UI上的控件的事件处理由MainActivity.java完 阅读全文

posted @ 2019-04-27 22:57 Hello-World3 阅读(434) 评论(0) 推荐(0) 编辑

Android与Linux内核的对应关系
摘要:1. Android各版本和Linux版本对应关系 参考:https://android.stackexchange.com/questions/51651/which-android-runs-which-linux-kernel 2. Android各个大版本主要解决问题 Android 4.1 阅读全文

posted @ 2019-04-25 15:06 Hello-World3 阅读(3345) 评论(0) 推荐(0) 编辑

HIDL学习笔记_2
摘要:一、HIDL简单介绍 HIDL是Android8.0新出的一个技能,以service和client的方式实现hal接口,目的是想使Android系统和BSP解绑,使系统升级更加方便。HIDL的使用方法一般是先提供.hal文件,然后使用hidl-gen工具生成 框架源文件和Android.bp编译工具 阅读全文

posted @ 2019-03-26 09:35 Hello-World3 阅读(13124) 评论(0) 推荐(1) 编辑

Android.bp学习笔记
摘要:1.Android.bp简介 Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生。Android 利用Blueprint和Soong 来解析bp文件,经过最终转换为ninja files 阅读全文

posted @ 2019-03-25 18:56 Hello-World3 阅读(31023) 评论(0) 推荐(0) 编辑

GPIO学习——用户空间操作
摘要:Kernel: 4.4 Soc: msm8996 1.用户空间通过sysfs操作GPIO (1)启用GPIO sysfs interface 首先看系统中有没有“/sys/class/gpio”这个文件夹。如果没有在编译内核的时候打开 Device Drivers-> GPIO Support-> 阅读全文

posted @ 2019-03-15 11:26 Hello-World3 阅读(570) 评论(0) 推荐(0) 编辑

导航