HAL服务整编错误处理

news2024/11/26 13:52:00

HAL服务整编错误处理

  • 1、HIDL HAL服务
  • 2、HIDL HAL服务集成
    • 1》manifest.xml 配置报错
    • 2》hidl服务未启动报错
    • 3》有rc启动文件,没有so库报错
    • 4》SELinux权限问题
    • 5》整编译还是没有集成 或 报错

1、HIDL HAL服务

请参考下面几篇:
简单HIDL HAL的实现
Android系统开发入门-11.添加hidl服务
HIDL实战笔记
Demo例子 Android 应用层 到 HAL 层

在这里插入图片描述

HAL 接口定义语言(简称 HIDL)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件包中)。从更广泛的意义上来说,HIDL 是指用于在可以独立编译的代码库之间进行通信的系统。从 Android 10 开始,HIDL 已废弃,Android 将在所有位置改用 AIDL。

2、HIDL HAL服务集成

1》manifest.xml 配置报错

hwservicemanager: getTransport: Cannot find entry 自定义服务@1.0::IFactory/default in either framework or device VINTF manifest.

自定义服务@1.0::IFactory_manifest.xml 文件放到目录:/vendor/etc/vintf/manifest

2》hidl服务未启动报错

10-10 10:43:56.138 348 348 I hwservicemanager: Since 自定义服务@1.0::IFactory/default is not registered, trying to start it as a lazy HAL.

rc启动文件放在 /vendor/etc/init/ 目录

3》有rc启动文件,没有so库报错

10-10 11:29:23.413 1 1 I init : starting service 自定义服务
10-10 11:29:23.447 4711 4711 F linker : CANNOT LINK EXECUTABLE “/vendor/bin/hw/自定义服务@1.0-service”: library “自定义服务@1.0.so” not found: needed by main executable
10-10 11:29:23.465 1 1 I init : Service '自定义服务 (pid 4711) exited with status 1
10-10 11:29:23.465 1 1 I init : Sending signal 9 to service 自定义服务 (pid 4711) process group…

vendor/lib64vendor/lib对应目录要有编译生成的自定义服务so库

4》SELinux权限问题

10-10 11:47:35.481 1 1 I init : Service '自定义服务 (pid 8881) exited with status 1
10-10 11:47:35.452 340 340 E SELinux : avc: denied { find } for interface=自定义服务::IFactory sid=u:r:hal_fingerprint_default:s0 pid=8881 scontext=u:r:hal_fingerprint_default:s0 tcontext=u:object_r:自定义服务:s0 tclass=hwservice_manager permissive=0
10-10 11:47:35.500 1 1 I init : Sending signal 9 to service 自定义服务 (pid 8881) process group…
10-20 10:09:13.699 355 355 E SELinux : avc: denied { find } for interface=自定义服务::IFactory sid=u:r:hal_fingerprint_default:s0 pid=9438 scontext=u:r:hal_fingerprint_default:s0 tcontext=u:object_r:自定义服务:s0 tclass=hwservice_manager permissive=0

可以关闭权限先测试:setenforce 0
selinux自动生成配置工具:项目中 external/selinux/python/audit2allow/audit2allow
audit2allow -i avcTest.txt > avc.te

5》整编译还是没有集成 或 报错

1、注意每个项目ap\bp仓编译不同的分支
2、注意平台编译校验,如高通 QIIFA cmd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu18.04LTS上安装ROS melodic

目录 前言创建source.list安装curl通过curl获取PGP公钥更新系统软件包索引安装ROS激活ROS系统空间 前言 本文参考ROS官方wiki,描述在Ubuntu18.04LTS上安装ROS的过程。 创建source.list sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_rele…

「更新」Macos屏幕录像工具:ScreenFlow

mac电脑屏幕截图工具哪个好?ScreenFlow是Mac上的一款优秀的屏幕录像软件,它不仅具有屏幕录制功能,还具有视频编辑功能。以下是对ScreenFlow的一些详细介绍: 首先,ScreenFlow可以捕获摄像机、麦克风和计算机音频&#…

一段奇葩的1024代码

入门教程、案例源码、学习资料、读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 10月24号那天,也就是传说中的1024程序员节,我翻开日历的时候,看到一段代码: 说实话&#xf…

CPU就绪情况及其对虚拟机性能的影响

CPU就绪是虚拟化中的一种性能度量,用于指示物理CPU中的潜在问题,作为对系统效率的度量,它用于跟踪性能和资源利用率,并避免严重错误。为了理解它在管理虚拟机中的重要性,我们将探讨CPU就绪作为一种性能指标的作用。 让…

HarmonyOS(二)—— 初识ArkTS开发语言(中)之ArkTS的由来和演进

前言 在上一篇文章HarmonyOS(二)—— 初识ArkTS开发语言(上)之TypeScript入门,我初识了TypeScript相关知识点,也知道ArkTS是华为基于TypeScript发展演化而来。 从最初的基础的逻辑交互能力,到…

Python文件上传 【出错】

文件上传时选择相应文件,选择不到 需求:实现百度上传文件 Code # 无法选择文件 import os import time # import autoit from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChainsdriver webdriver.Chrome…

什么是文件安全

文件安全就是通过实施严格的访问控制措施和完美的权限卫生来保护您的业务关键信息不被窥探,除了启用和监控安全访问控制外,整理数据存储在保护文件方面也起着重要作用。通过清除旧的、过时的和其他垃圾文件来定期优化文件存储,以专注于关键业…

【51单片机】数码管与LCD1602(学习笔记)

一、静态数码管 1、数码管介绍 LED数码管:有多个发光二极管封装在一起的"8"字型的显示器 2、数码管引脚定义 分为:共阴极连接(多)、共阳极连接 图片仅供参考,以图纸为准 公共端:接地 > 供…

【数据结构与算法】排序二叉树的创建节点的添加和删除(附代码实现与代码讲解)

首先来了解下排序二叉树的基本概念 排序二叉树:任意一个根节点,比他的左子树中的任意节点都大,比他的右子树中的任意节点都小 比如下面的这个树就是排序二叉树 OK,在了解了这个基本概念之后,就可以去看下面的代码了 …

车载网络测试 - UDS诊断篇 - CAN与OSI七层模型

目录 为什么会介绍OSI七层模型? CAN规范与OSI模型 1、Physical Layer 1 2、Data Link Layer 2 3、Network Layer 3 & Transport Protocol Layer 4 4、Transport Protocol Layer 4 5、Session Layer 5 & Presentation Layer 6 & Application Laye…

【c++Leetcode】287. Find the Duplicate Number

问题入口 思想:Floyds Tortoise and Hare 这个算法除了可以检测是否有环(问题入口),还可以用来检测重复数。当然这还需要一个慢指针才能实现。具体请点击标题跳转到原视频,这里是把内容再梳理一遍。如果有不对的地方…

多路转接之epoll

本篇博客介绍: 多路转接之epoll 多路转接之epoll 初识epollepoll相关系统调用epoll的工作原理epoll服务器编写成员变量构造函数 循环函数HandlerEvent函数epoll的优缺点 我们学习epoll分为四部分 快速理解部分概念 快速的看一下部分接口讲解epoll的工作原理手写epo…

Springboot 集成 Seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。Seata官网 1.找到适合的Seata版本 参考:SpringCloudAlibaba S…

译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快

这篇文章是ES7.11版本的文章,主要学习的是思路,记录在这里留作以后参考用。 原文地址:https://www.elastic.co/cn/blog/how-we-made-date-histogram-aggregations-faster-than-ever-in-elasticsearch-7-11 正文开始: Elasticsea…

美国Embarcadero产品经理Marco Cantù谈Delphi/C++ Builder目前开发应用领域

美国Embarcadero产品经理Marco Cant 日前在欧洲的一次信息技术会议上谈到了Delphi/C Builder目前开发应用领域:RAD Studio Delphi/C Builder目前应用于哪些开发领域?使用 Delphi 和 CBuilder 进行开发为当今众多企业提供了动力。 航空航天 大型数据采集 …

4.2 final关键字

思维导图: 4.2.1 final关键字修饰类 定义和基本概念: 在 Java 中,final关键字有“最终”或“不可改”的含义。使用final关键字修饰的元素(类、方法或变量)都有其特定的特性。 主要应用和注意事项: 修饰类&…

Spring - 手写模拟Spring底层原理

手写Spring 定义配置类AppConfig ComponentScan("com.spring.zsj") public class AppConfig {Beanpublic ApplicationListener applicationListener() {return new ApplicationListener() {Overridepublic void onApplicationEvent(ApplicationEvent event) {System…

yolov7模型轻量化改进之MobileOne骨干替换

本文在之前文章yolov7分割训练的基础上进行改进: https://blog.csdn.net/qq_41920323/article/details/129464115?spm=1001.2014.3001.5502 具体GitHub工程下载,环境安装配置,数据准备等,请借鉴之前的文章,此处只介绍如何进行改进。 MobileOne地址:https://github.com…

【算法|滑动窗口No.3】leetcode3. 无重复字符的最长子串

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

Nignx安装负载均衡动静分离以及Linux前端项目部署将域名映射到特定IP地址

目录 一、nginx简介 1.1 定义 1.2 背景 1.3 作用 二、nginx搭载负载均衡提供前后分离后台接口数据 2.1 nginx安装 2.1.1 下载依赖 2.1.2 下载并解压安装包 2.1.3 安装nginx 2.1.4 启动nginx服务 2.2 tomcat负载均衡 2.2.1 负载均衡所需服务器准备 2.2.2 配置修改 …