
Android
文章平均质量分 79
冯疯子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AOSP添加新硬件设备开发-HAL层
Android 系统为硬件抽象层中的模块接口定义编写规范,我们必须按照这个规范来编写自己的硬件模块接口,否则就会导致无法正常访问硬件。抽象层命名Android 系统的硬件抽象层以模块的形式来管理各个硬件访问接口。每一个硬件模块都对应有一个动态链接库文件,动态链接库文件的命名要符合一定的规范。抽象层模块使用结构体hw_module_t来描述设备 硬件设备使用结构体hw_device_t描述。那么该如何命名呢?硬件抽象层模块的命名定义在aosp/hardware/libhardware/ha原创 2021-07-16 21:31:03 · 1697 阅读 · 0 评论 -
Android Vibrator 实现灭屏震动功能
背景vibrator 是手机上的一个硬件功能,也是常用的提示功能,在开发过程中,遇到一个需求,需要实现灭屏震动提示,搜集网上博客,没有找到想要的案例,所以自己花了点时间研究了,记录下实现android 对硬件的权限使用控制的越来越严格,android R 之前的灭屏震动不知道有没有特别设置,本文只讨论Android R上的应用。正文1,在AndroidManifest.xml中添加使用到的控制权限,为什么需要?阅读源码可以看到调用vibrate方法的时候会对权限检查,如果没有申请,那么将会导原创 2021-05-17 20:07:18 · 1347 阅读 · 3 评论 -
AOSP添加新硬件设备开发-HIDL层
目录一 ,准备二,添加hal文件三,实现hal文件四,添加service五,启动rc文件六,生成Android.bp文件七,SELinux权限八,编译android设备添加一个外围设备,不像嵌入式那么简单,系统越复杂加入的方式越杂,但是万物都有规矩可寻,有方法可走。这篇文章就说说HAL和用户之间的接口HIDL。Google:https://source.android.google.cn/devices/architecture/hidlgoogle 官方这样解释原创 2021-02-22 20:52:52 · 2330 阅读 · 0 评论 -
谈谈Android 安全策略SElinux
不积跬步无以至千里,补全自己的短板,完善体系,虽然是站在巨人的肩膀上,写这篇文章也算是对这个知识点的总结。一,背景SElinux出现之前,Linux上的安全模型叫DAC(Discretionary Access Control 自主访问控制),它的核心思想就是:进程拥有的权限与执行它的用户权限相同,比如,以root用户启动camera, 那么camera就拥有root的用户权限,我们知道root的权限是很大的,可以说为所欲为。所以DAC方式管理太过宽松,只要应用获得了root权限,可以在后台做很原创 2020-09-29 21:43:43 · 4684 阅读 · 0 评论 -
通过stupid-ftpd在android / arm 上建立ftp服务器
最近接触到嵌入式系统,需要将驱动文件放到嵌入式设备内,所以想到搭建一个ftp服务器,通过ftp将文件放到设备内,通过搜索查找,使用stupid-ftpd比较合适,占用空间小,自己手边有个Android的机顶盒,就在机顶盒上实验首先资源下载, stupid-ftpd是开源的,链接:https://sourceforge.net/projects/stupid-ftpd/files/stu...原创 2020-05-06 16:17:14 · 852 阅读 · 1 评论 -
Android 尝试写一份Linux 字符设备驱动
从事android工作几年时间,功底不是很深,一直围绕这android系统定制移植开发,慢慢的从应用层接触到framework层,在接触到hal,目前从事的工作wifi驱动相关工作。但是没有系统的学习过驱动知识,现在跟着阳光玻璃杯学习一份驱动的简单实现。 这个简单的驱动程序是一个字符设备驱动,实现写一个字符串进去,然后再把他读出来。驱动创建/dev/hello节点,/s...原创 2019-10-21 10:54:17 · 447 阅读 · 0 评论 -
wifi 移植,将驱动放入内核编译ko文件,编译失败解决方法
接到项目需要将驱动编译成ko文件, 将驱动代码放到kernel路径下,执行make modules 后编译报错error: variable '__this_module' has initializer but incomplete typeerror: unknown field 'name' specified in initializererror: excess eleme...原创 2019-05-08 17:43:13 · 1916 阅读 · 0 评论 -
Android 设备终端执行cp等操作时报Read-only file system问题
1,在可以执行adb的情况下,使用 adb remount , 在执行adb shell 进到设备终端2,在没有adb可以执行,比如说直接串口连接调试情况,直接进到设备终端,如果我们想操作/system路径下的文件,会报Read-only file system,执行失败,此时我们可以使用mount命令,重新挂载文件,指令如下mount -o remount /system此后便可以...原创 2019-04-19 17:38:08 · 2664 阅读 · 1 评论 -
构建 Android WebView 的缓存机制 & 资源预加载方案
本文转自 Carson_Hohttps://blog.youkuaiyun.com/carson_ho/article/details/71402764前言由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid开发 但我知道你一定在烦恼 Android Webview 的性能问题,特别突出的是:加载速度慢 &am...转载 2018-09-12 11:21:43 · 470 阅读 · 0 评论 -
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
本文转自 http://blog.youkuaiyun.com/ly502541243/article/details/52062179Handler每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然却不知其所以然。今天看到Handler.post这个方法之后决定再去翻翻源代码梳理一下Handler的实现机...转载 2018-09-12 11:13:09 · 203 阅读 · 0 评论 -
手把手教你写一个完整的自定义View
本文转自Carson_Ho https://blog.youkuaiyun.com/carson_ho/article/details/62037696前言 自定义View是Android开发者必须了解的基础 今天,我将手把手教你写一个自定义View,并理清自定义View所有应该的注意点 阅读本文前,请先阅读我写的一系列自定义View文章 自定义View基础 - 最易懂的自定义V...转载 2018-09-12 10:57:11 · 657 阅读 · 0 评论 -
Android JNI控制CPU工作频率
一,知识预讲首先 需要先adb shell进入手机cd /sys/devices/system/cpu 到cpu 目录下使用ls查看当前目录下的文件,有:cpuinfo_cur_freq:当前cpu正在运行的工作频率cpuinfo_max_freq:该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)cpuinfo_min_freq :该文件指定了处理器能够运行的最低工作频率 (单位: 千...原创 2018-04-26 14:44:57 · 1017 阅读 · 0 评论