APK无法识别gsensor问题的原因有很多,这里只是提供一条思路,解决现有项目遇到的问题。

1、确保驱动层可以工作。

2、打印LOGCAT数据,分析sensorservice流程

1、移植流程:

步骤:
移植gsensor驱动,mc3413,大概步骤如下:

1、移植kernel驱动文件;

2、修改HAL层文件

vendor\sprd\open-source\libs\libsensors_sprd\Acc_Mc3xxx.cpp

3、修改device\sprd\scx35l\sp9820w_6c10\BoardConfig.mk

USE_SPRD_SENSOR_LIB := true
BOARD_HAVE_ACC := Mc3xxx
BOARD_ACC_INSTALL := 6

4、修改权限:

device\sprd\scx35l\common\sepolicy\file_contexts增加:/dev/mc3xxx u:object_r:sensors_device:s0
device\sprd\scx35l\common\rootdir\root\ueventd.sc8830.rc 增加:/dev/mc3xxx  0660   system  system

现象:

现在kernel部分已经可以工作,通过getevent -rl 可以获取gsensor数据:

add device 1: /dev/input/event0
  name:     "sci-keypad"
add device 2: /dev/input/event4
  name:     "headset-keyboard"
add device 3: /dev/input/event3
  name:     "mc3xxx_accelerometer"
add device 4: /dev/input/event1
  name:     "HALL"
add device 5: /dev/input/event2
  name:     "sprd-gpio-keys"

/dev/input/event3: EV_ABS       ABS_X               fffffff7
/dev/input/event3: EV_ABS       ABS_Y               fffffff4
/dev/input/event3: EV_ABS       ABS_Z               000003e1
/dev/input/event3: EV_SYN       SYN_REPORT          00000000

使用sensor test apk测试加速度传感器无法识别。也尝试了几种其他的手机传感器APK无法识别。

2、分析与解决

①抓取HALL层的log

使用展讯工程模式*#83781#*#*,进入log设置,选择slog,抓取log。

或者直接使用adb 抓取logcat

Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\Acc_Mc3xxx.cpp

里面的log并没有搜到!!

继续搜索

Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\sensors.cpp

Z:\project\hk811\idh.code\frameworks\native\services\sensorservice\SensorDevice.cpp

②分析sensorservice

Z:\project\hk811\idh.code\frameworks\native\services\sensorservice\SensorService.cpp

logcat中搜索nuSensorServicestarting

发现了并没有找到HAL层的.so文件!

检查Z:\project\hk811\idh.code\vendor\sprd\open-source\libs\libsensors_sprd\Android.mk

使用adb 查找system/lib下面发现了

一般的硬件的hal层都会放在system/lib/hw下面,修改android.mk

重新编译模块,放到system/lib/hw,问题解决!

APK无法识别gsensor问题剖析相关推荐

  1. android 电视安装apk文件夹,智能电视无法识别apk文件怎么办?简单几招教你搞定...

    在双十一购买完智能电视后,安装自己喜欢的软件,或许是在正常不过的事情了,但有时候我们会碰到一些APK无法识别,这个时候还以为会认为自己买的是假货,但实际上,这并不是电视的问题,而今天小编就教大家,一旦 ...

  2. 安卓反编译揭秘,伪加密APK文件如何被破坏

    2019独角兽企业重金招聘Python工程师标准>>> 1. 源码混淆 如上图,对Android APP的源码进行混淆后混淆器将代码中的所有变量.函数.类的名称加密为简短的英文字母代 ...

  3. 梆梆企业版加固技术之防篡改剖析

    (本文仅限于技术讨论,不得用于非法途径,造成不良后果,与作者无关) 本篇主要介绍梆梆安全加固防篡改的原理和方法.选择梆梆,是因为其在防篡改方面是比较突出的.如果后续有时间会陆续将梆梆企业版使用的加固技 ...

  4. HyperLPR 高性能开源中文车牌识别框架

    概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...

  5. python车牌识别系统开源代码_HyperLPR 基于keras-tensorflow的车牌识别

    HyperLPR 高性能开源中文车牌识别框架 一键安装 python -m pip install hyperlpr 支持python3,支持Windows Mac Linux 树莓派等. 720p ...

  6. 2022-2027年中国指纹识别行业市场调研及未来发展趋势预测报告

    [报告格式]电子版.纸介版 [出品单位]华经产业研究院 本报告由华经产业研究院出品,对中国指纹识别行业的发展现状.竞争格局及市场供需形势进行了具体分析,并从行业的政策环境.经济环境.社会环境及技术环境 ...

  7. Android识别模拟器,判断是模拟器还是真机

    文章目录 前言 原理 禁止模拟器安装apk 代码识别 验证 最后 前言 对于android开发者来说,模拟器是开发工具,但是对用户来说,可能就是薅羊毛.找漏洞的赚钱工具. 不管是活动风控还是内容保护等 ...

  8. adb安装apk报错

    有时我们在调用adb install -rm <ApkPath> 或者 Linux下调用 pm install <ApkPath>时会出现以下问题: 一:INSTALL_FAI ...

  9. 借贷宝人脸识别无需绑卡,需合作者共同冲刺

    动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 借贷宝人脸识别正式全面开放,新一轮的注册热潮可能远超第一轮.邀请注册,人脸识别不 ...

最新文章

  1. 网站在改版时如何降低对排名的影响呢?
  2. windows环境下python 虚拟环境的创建和使用(virtualenvwrapper)
  3. linux中的IO函数
  4. ios 数组越界奔溃库_iOS中防止数组越界之后发生崩溃
  5. JS面向对象程序设计(OOP:Object Oriented Programming)
  6. 《C++ primer》--第11章
  7. zuul 自定义策略_如何为您的社区定义指标策略
  8. XP的常见蓝屏代码和解决方案
  9. cin java_java基础语法
  10. 阿里云数据盘分区并挂载
  11. 数学建模:lingo软件学习心得
  12. H264数据格式解析
  13. EDA技术与应用课笔记
  14. Typora文档添加水印
  15. 结巴分词,停用词生成词云图
  16. 百度搜索引擎对站长越来越嚣张,已经放弃做什么百度优化咯
  17. pygame战棋游戏制作之战棋光标设置上(三)
  18. WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置!
  19. linux 基线加固/等保整改
  20. 通过简单的温湿度传感器进行简单的物联网设计(二)电路连接上

热门文章

  1. win10计算机怎么新增用户,win10 如何添加管理员账户_win10 添加管理员账户方法-win7之家...
  2. 《软技能·代码之外的生存指南》读书笔记 ——自我营销
  3. 三维激光扫描技术知识检测----选择、判断
  4. 小牛电动Q2财报:国外不乐观,国内狂下沉
  5. MyBatisCodeHelper-Pro插件
  6. php validate,jQuery Validate | 菜鸟教程
  7. Kettle的“增加序列”(自增字段)的使用
  8. 网站维护要做哪些工作
  9. 热强化硅酸钠玻璃建筑玻璃英国UKCA认证—EN 1863-2
  10. 风云编程python基础语法(1)