自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android硬件访问服务由HAL层到APP以及添加自定义权限限制访问

本文主要内容如下。其实Android硬件访问服务的文章已经多的数不胜数了。1、编写HAL库控制硬件 2、添加jni访问HAL库 3、java调用jni的实现以及AIDL 4、实现管理类来对java的访问服务进行操作以及APK调用方法 5、对硬件访问服务进行访问硬件的权限检查,以及自己添加新的权限在framework以及APK调用方法1、编写HAL库控制硬件以Android5.0为例

2016-12-01 09:05:08 2345 2

原创 android O之上加密的data分区ota升级命令行命令

参考大佬文章:总结如下adb rootadb shell。

2023-07-04 15:40:37 416

原创 camera1 api调用流程

通篇从api调用到获取到provider操作。再去查看provider如何初始化。最终找到了preview分辨率等参数的实际获取地方。

2023-04-19 15:43:23 567

原创 linux查找文件并替换文件名字符串

查找名字含有abc的文件名,并把文件名中的abc替换为xxx。

2023-01-12 13:19:16 532

原创 dmesg权限异常

非root用户使用dmesg命令报错如下。dmesg: klogctl: Operation not permitted如要临时开放可按照如下修改diff --git a/kernel/kernel/printk.c b/kernel/kernel/printk.c index 145d69cc9

2022-06-15 17:17:08 2115

原创 Anbox编译问题

anbox移植问题。

2022-04-19 16:45:20 195

原创 app属性seinfo 应用selinux上下文

seinfo用zygote创建app进程时创建selinux上下文使用。不同签名会创建对应的selinux上下文。platform,system,untrusted等。frameworks/base/services/core/java/com/android/server/pm/SELinuxMMAC.java中getSeInfo()函数获取对应安装时分配的值。特殊修改上下文看以针对此函数改动。...

2020-08-18 17:08:38 455

原创 批量安装当前目录apk的bat脚本

@ECHO off @REM 无限循环的标签 :LOOP adb wait-for-device @REM 循环安装本目录下的APK文件 FOR %%i IN (*.apk) DO ( ECHO 正在安装:%%i adb install -r "%%i" ) ECHO 安装完毕;请更换下一台手机!PAUSE GOTO LOOP @ECHO on另存为后缀bat.编码格式记得改成GB2312/GBK...

2020-08-06 17:01:54 676

原创 android Q 标准类新增api错误

You have tried to change the API from what has been previously released inan SDK. Please fix the errors listed above.android Q 标准类新增api错误Aborting: Found compatibility problems checking the public API against the API in /android/out/soong/.intermediates

2020-08-05 20:19:58 2483 2

原创 init.rc文件添加on property触发器无效

在init.rc文件中时常可以看到如下信息。on property:init.svc.vendor.per_mgr=running start vendor.per_proxy这里表明property的属性init.svc.vendor.per_mgr值等于running时。则启动vendor.per_proxy。可以看到设置对应的属性可以启动对应的服务。这里的实现主要由init文件的parser解析实现。system/core/init/action_parser.cpp...

2020-06-21 13:24:17 1531

原创 android 9 sh脚本执行。

关于安卓9中sh脚本的执行。在rc文件中添加脚本执行规则其实很容易,有个小细节要注意。也是写脚本的人员很容易忽略的事情。脚本开头需要指定sh。这对linux或者安卓中都很重要。#!/vendor/bin/sh#!/system/bin/sh直接导致selinux上下文的变化。前者上下文为tcontext=u:object_r:vendor_shell_exec:s0后者上下文为tcontext=u:object_r:shell_exec:s0不注意这个对权限开发会产.

2020-06-18 16:00:12 1147

原创 android 源码集成jar包报Had 356 soft failure(s) verifying all classes

今天集成jar包发现编译不过。Had 356 soft failure(s) verifying all classes, and was asked toabort in such situations. Please check the log.从错误得知ERROR: Dex2oat failed to compile a boot image. It is likely tha...

2020-04-24 10:11:23 715

原创 加速度,陀螺仪6轴传感器调试心得。

传感器内容来说。都是输入设备。可以采用中断,也可以采用轮询。延时队列。或者更高精度的hrtimer。I2C设备调试都可以使用i2c-tools-3.1.1进行寄存器读出写入等操作。方便调试。关于重力感应。所使用的单位是m/s^2。关于陀螺仪,芯片手册所使用的单位一般为dps(度/秒)。转换成弧度需要乘以 π/180 (约0.0174532922222222‬)。另外。数据精度看输出...

2019-11-13 15:02:01 2635

原创 常用总线调试工具

spi-tools 对spi总线配置以及发送命令数据https://github.com/cpb-/spi-toolsi2c-test-tools I2C测试https://i2c.wiki.kernel.org/index.php/I2C_Toolsiperf 带宽测试https://iperf.fr/...

2019-06-18 15:32:01 1816

原创 android qcom Lights框架以及开发外部应用调用思路

    近期项目开发中遇到需要增加手电筒控制的接口(不访问camera)。此类问题实际上实现起来非常简单。本着学习的精神以及不愿意简陋的实现该功能,因此把Lights框架查看了一遍,并增加新灯的控制方式。先从调用处开始查看:frameworks/base/services/core/java/com/android/server/BatteryService.java//调用处,获...

2019-02-26 21:04:51 839 1

原创 安卓设置锁屏密码流程

本文以安卓5.1为例分析锁屏密码设置的流程。由设置界面中设置密码可以看到以下文件。packages/apps/Settings/src/com/android/settings/ChooseLockPassword.java428 if (mUiStage == Stage.Introduction) {429 errorMs...

2018-11-22 09:46:43 2823 1

原创 关于Android开发过程中遇到的一些权限注意点

1、AndroidManifest.xml文件中声明的权限2、linux经典权限chmod3、linux的Selinux权限4、linux层中代码校验UID时的权限。例如 return in_egroup_p(xt_qtaguid_stats_file->gid)  || unlikely(!current_fsuid()) || uid == current_fsuid()

2018-02-02 11:14:38 297

原创 高通平台LK传递参数给kernel参考serialno的方式实现

该需求主要是为了能够获取自定义的版本号,或者需要bootloader里,定制代码的执行结果需要传递到bootloader从而控制启动等。首先可以从shell里查看LK传入的值。cat proc/cmdline得知androidboot.serialno=xxxxx那么可以再源码树里查找serialno关键字并依葫芦画瓢即可bootable/bootloader/lk/app/...

2017-10-24 11:22:43 2956

原创 如何删除Windows被占用的COM

如何释放和删除被占用的串口这个解决了,A:可以通过删除注册表中的一个数值项来清除这些配置:在“运行”对话框中输入“regedit”进入注册表;然后进入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter这时我们可以找到该数值项:ComDB,它的值代表目前使用中的串口端号。比如1d,它的二进制:0001

2017-04-19 14:37:36 876

原创 关于内核打印信息的查看

第一个ipc_loggingcat sys/kernel/debug/ipc_logging/xxxx/xxx第二个此外,打印中还经常看到pr_debug函数,可以动态的打印调试信息(http://blog.csdn.net/weiqifa0/article/details/44038907)如要打开该函数,只需在内核中配置CONFIG_DYNAMIC_DEBUG,并且

2017-04-13 17:24:17 1845

原创 关于Android properties 中ro开头无法修改的问题

熟悉Android开发的小伙伴都知道,build.prop里存在很多选项,其中ro开头的选项无法通过SystemProperties.set方法进行修改。这里除了Selinux的原因还有本身propertyservice里的限制,我们看看代码system/core/init/property_service.c298 int property_set(const char *name, con

2017-03-02 09:40:09 2382

原创 Android源码树常用命令

croot 切换到源码树的根目录m 在源码树的根目录执行 makemm Build 当前目录下的模块mmm Build 指定目录下的模块cgrep 在所有 C/C++ 文件上执行 grepjgrep 在所有 Java 文件上执行 grepresgrep 在所有 res/*.xml 文件上执行 grepgodir 到包含某个文件的目录路径printconfig 显示当

2017-01-10 09:15:53 344

原创 Android.mk积累

集成apk时,如果带有so库,也就是jni库那么需要添加1、顶层Android.mk 添加 LOCAL_JNI_SHARED_LIBRARIES := libxxxx 2、新建目录jni,把libxxxx.so放入这个目录并且新建Android.mk文件。3、在新建mk中添加一下内容。 include $(CLEAR_VARS) LOCAL_MODULE := l

2017-01-04 09:21:14 378

原创 Android5.1.1实现备份应用数据功能

Android5.1.1实现备份应用数据功能 首先先来几个知识点,Android各个应用数据的隔离实际上是通过不同的UID来区别的。UID分配过程不在本文详解。应用安装时会在/data/data/目录下以包名为目录名,创建一个目录,并且分配权限为751,并分配对应的用户与用户组,这就导致了,要想读取某个应用的应用数据,就应该需要这个应用的uid或者gid,如果要对这个目录进行写的话,则需要ui

2016-12-08 18:27:18 3733 1

原创 触摸屏getevent正常报数据,Android却无触点的bug

今天在调试一款触摸屏。发现一个bug,说来也是奇怪。明明在adb shell里面执行getevent命令,触摸数据和事件都上报了。可是Android就是压根没反应呀!!决定还是从drver入手,查找一番终于发现了问题。原来参考驱动里没有设置input_set_abs_params的ABS_MT_POSITION_X和ABS_MT_POSITION_Y,设置的最大值变量从来没有被赋值。果断改了值,A

2016-09-22 08:24:57 2259

原创 高通SPI指纹模块driver调试

高通平台指纹模块的调试小记。

2016-09-18 15:09:22 7985 3

原创 入网认证遇到的安全受控机制的问题---之Android 5.1.1 AppOps与严格模式

开启严格模式,安全受控机制

2016-08-18 15:05:10 2817

原创 Android5.1.1 自带Camera2/SnapdragonCamera的apk拍照方向旋转90°

Google默认的Camera2或者SnapdragonCamera拍照后方向自动旋转了270°的问题。

2016-07-28 16:47:34 3473

原创 Android 5.1.1 状态栏裁剪以及点击状态栏的事件监听裁剪

公司又派发任务来折磨我了,没关系谁叫咱是码农呢。实际上状态栏和导航栏都属于systemUI里的内容。对于状态栏的裁剪,可以分为两种。第一种,整个状态栏都不要了。那么这种很简单,但是这样可能导致信号什么的不好查看。直接修改xml文件把状态栏显示的dpi改成0搞定。 frameworks/base/core/res/res/values/dimens.xml 修改 25dip为0d

2016-07-28 16:24:59 2145 2

原创 Android设置界面与通知栏裁剪

最近产品在做认证有点烦躁,但是没有关系。不就是认证嘛。该死的认证。奇葩的需求,因为机器申请只有4G的频段,需要把2/3G的频段给频闭。界面上可以设置成只有4G的频段。但是毕竟设置界面在那里,别人发现了还是说明你的机器是全网通机器。因此需要把设置界面给改了。在源码目录下。packages\services\Telephony\src\com\android\phone\msim\MSimMo

2016-06-08 15:42:27 1567

原创 LDD3学习笔记scull编译错误解决

1、./scripts/Makefile.build:49: *** CFLAGS was changed in "/home/jerry/luo/module/examples/scull/Makefile". Fix it to use ccflags-y.很明确了。直接将Makefile的CFLAGS改成ccflags-y。2、 fatal error: linux/config.h

2016-04-17 22:05:15 1695

原创 MIPI接口LCD屏调试心得

首先总结一下LCD调试的三个步骤。第一、线路连接配置本人在这里栽了不止一次。这次要总结一下开关电路。首先mos管开关电路的识别,那么先看看什么是n沟道mos管(借了百度百科的图)对于嵌入式系统工程师来说,我不需要它什么电压导通,我只要知道它是高电平能通还是低电平能通。对于n沟道,G接高电平,S接低电平,D导通。G接高电平,S接高电平,D截止。这里一般是LCD_EN引

2016-03-14 14:31:22 36581 7

原创 关于LCD的HBP,HFP等各种参数

今天终于搞明白了!多亏了这芯片手册话不多说先上图对于这个图已经说的很清楚了我们以HFP为例子假设MIPI为457Mbps/lane,使用4lane。那么1bps就是2.1883ns,24色真彩色。图上给出的HFP是0.94us 按照HFP(pixle)=(940ns * 4)/ (2.1883 * 24) = 71.59这里是最小值。可以取的比最小值大一点那么约为100就好

2016-03-10 20:09:12 11855

原创 Ubuntu android studio 创建虚拟设备问题

修改家目录下的.android所属为当前用户,默认是超级用户。无法布置任务到Android虚拟设备,需要手动启动adb服务。

2016-02-22 10:38:32 1085

原创 Android层测试摄像头实际输出帧率大小

1、设置prop属性adbshellsetproppersist.camera.sf.showfps1log中搜索PROFILE_PREVIEW_FRAMES_PER_SECOND2、在adblog中过滤同时包含mm_stream_read_msm_frame和streamtype1的行,数出每一秒同时包含mm_stream_read_msm_frame和st

2016-02-19 10:34:33 5260

原创 高通平台开机LOGO修改LK(bootloader)下实现

网络上已经有许多在kernel中修改开机Logo的文章,本文就LK下实现开机logo进行简述需要用到ffmpeg工具,没有安装ffmpeg请参考这里:http://blog.csdn.net/redstarofsleep/article/details/45092145   运行"ffmpeg -i logo.png -f rawvideo -pix_fmt bgr24 logo.ra

2016-01-22 14:04:44 6653 2

转载 Ubuntu 14.04 安装Virtualbox No suitable module for running kernel found

问题:No suitable module for running kernel found解决:1、确认清除你之前所安装的virtualboxsudo apt-get purge virtualbox2、从virtualbox网址直接下载:https://www.virtualbox.org/wiki/Download_Old_Builds_4_3选择AMD64,或者i3

2015-11-22 10:58:54 1285

原创 linux内核分析笔记之系统滴答定时

linux0.11内核中滴答时钟被设置成10ms一个系统滴答。从而执行中断程序timer_interrupt         ↓jiffies++;//用于记录系统总共运行的时钟数↓被中断的程序CPL(特权级) 传入do_timer();↓CPL=0内核被中断内核态运行时间++ 否则用户态运行时间++↓处理时间链表。//程序有添加使用定时器时才处理↓

2015-03-29 13:01:31 2027

原创 关于C语言函数指针实现部分面相对…

其实很早就知道这样的概念,只是今天想着来实现一下。首先来理解一下函数指针的定义。对于一个函数原型为        int PUSH(LNode *node, int  data);   那么我们定义函数指针应该为        int (*p)(LNode *node, int data);//定义一个函数指针,该指针指向带LNode指针类型和int类型的两个形参,并返回int类型的值。

2014-10-28 13:57:31 783

原创 嵌入式linux交叉编译工具链搭建

首先我要先吐槽一下这本《嵌入式Linux应用开发》蛋疼无比的书。尼玛。里面的东西也太旧了把。都能成古董了!!!!所以书里面教的交叉编译工具链的建立方法已经早已不适应(当然你直接用书上建好的请忽略本文)。因此花了四天时间研究了一下交叉编译工具链搭建。本次基于Ubuntu12.04.4(32位的也就是i386)+croostool-ng-1.9.3已S3C2440为例。该处理器属于ARMv4t版

2014-10-28 13:57:26 2220

gc0310 前置摄像头驱动

高通平台gc0310驱动验证可行,有问题直接联系。

2016-08-18

如何成为嵌入式系统工程师

这份偶然得到的文档,描述了如何从一名学生成为嵌入式软件工程师。适合学生,和还搞不清楚嵌入式该做啥的人。

2016-04-13

RM68200驱动硬件配置

高通平台Linux的LCD硬件相关配置。

2016-01-20

msm OV8858 2lane

高通平台下调试2lane的OV8858摄像头。对调试OV8858驱动的朋友会有所帮助。

2016-01-14

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

TA关注的人

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