当前位置: 首页 > news >正文

Automotive 添加一个特权APP

Automotive 添加一个特权APP

platform: android-13.0.0_r32

一. 添加一个自定义空调的app为例

路径:packages/apps/Car/MyHvac

app内容可以自己定义,目录结构如下:
在这里插入图片描述

1.1 Android.bp
package {default_applicable_licenses: ["Android-Apache-2.0"],
}android_app {# app的名字name: "MyHvac",# 源码srcs: ["src/**/*.java"],# 资源resource_dirs: ["res"],platform_apis: true,# platform 签名certificate: "platform",# 是否是特权appprivileged: true,# 依赖 car-liblibs: ["android.car-system-stubs"],  # 这是app的常用依赖static_libs: ["jsr305","androidx.legacy_legacy-support-v4","androidx.appcompat_appcompat","androidx-constraintlayout_constraintlayout","androidx.lifecycle_lifecycle-extensions","car-apps-common",],optimize: {enabled: false,},dex_preopt: {enabled: false,},product_variables: {pdk: {enabled: false,},},# 这里就是请求特权的模块信息了required: ["allowed_privapp_com.jiangc.myhvac"]
}
1.2 权限申请

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.jiangc.myhvac"><uses-sdkandroid:minSdkVersion="22"android:targetSdkVersion="31"/><uses-permission android:name="android.car.permission.CONTROL_CAR_CLIMATE" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><!-- Required to use the TYPE_DISPLAY_OVERLAY layout param for the overlay hvac ui--><uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" /><!-- Allow Hvac to go across all users--><uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /><uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /><protected-broadcast android:name="android.car.intent.action.TOGGLE_HVAC_CONTROLS" /><uses-featureandroid:name="android.hardware.type.automotive"android:required="true" /><applicationandroid:allowBackup="true"android:appCategory="audio"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.MyHvac"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

其中INTERACT_ACROSS_USERS、CONTROL_CAR_CLIMATE为特殊权限

二. 添加特权配置

路径:packages/services/Car/data/etc/

以包名创建一个xml文件,比如本例中的com.jiangc.myhvac.xml

内容如下:将特殊权限放到这里

<permissions><privapp-permissions package="com.jiangc.myhvac"><permission name="android.permission.INTERACT_ACROSS_USERS"/><permission name="android.car.permission.CONTROL_CAR_CLIMATE"/></privapp-permissions>
</permissions>

然后在Android.bp中添加一个模块

prebuilt_etc {# 模块名,和前面Android.bp中匹配name: "allowed_privapp_com.jiangc.myhvac",sub_dir: "permissions",# 这里是我们上面添加的特权文件名src: "com.jiangc.myhvac.xml",filename_from_src: true,
}

接下来修改packages/services/Car/car_product/overlay/frameworks/base/core/res/res/values/policy_exempt_apps.xml

添加应用的包名

<resources><!--A collection of apps that are critical for the device and hence will never be disabled bydevice policies or APIs.--><string-array translatable="false" name="policy_exempt_apps"><item>com.android.car.cluster.home</item><item>com.android.car.hvac</item><item>com.android.car.media</item><item>com.android.car.radio</item><item>com.jiangc.myhvac</item></string-array>
</resources>

然后make

相关文章:

Automotive 添加一个特权APP

Automotive 添加一个特权APP platform: android-13.0.0_r32 一. 添加一个自定义空调的app为例 路径&#xff1a;packages/apps/Car/MyHvac app内容可以自己定义&#xff0c;目录结构如下&#xff1a; 1.1 Android.bp package {default_applicable_licenses: ["Andr…...

自定义TimeLine

自定义TimeLine 什么是TimeLineData&#xff08;数据&#xff09;Clip&#xff08;片段&#xff09;Track&#xff08;轨道&#xff09;Mixer&#xff08;混合&#xff09; 什么是TimeLine 在 Unity 中&#xff0c;TimeLine&#xff08;时间轴&#xff09;是一种用于创建和管理…...

如何使用SQL系列 之 如何在SQL中使用WHERE条件语句

引言 在结构化查询语言 (SQL)语句中&#xff0c;WHERE子句限制了给定操作会影响哪些行。它们通过定义特定的条件(称为搜索条件)来实现这一点&#xff0c;每一行都必须满足这些条件才能受到操作的影响。 本指南将介绍WHERE子句中使用的通用语法。它还将概述如何在单个WHERE子句…...

leetcode:1941. 检查是否所有字符出现次数相同(python3解法)

难度&#xff1a;简单 给你一个字符串 s &#xff0c;如果 s 是一个 好 字符串&#xff0c;请你返回 true &#xff0c;否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 &#xff0c;那么我们称字符串 s 是 好 字符串。 示例 1&#xff1a; 输入&#xff1a;s…...

Echarts 各种点击事件监听

目录 一、鼠标事件1.1、左击1.2、双击1.3、右击1.4、右键双击1.5、中轴滚动二、时间轴2.1、时间轴监听三、拖动3.1、拖动事件一、鼠标事件 1.1、左击 chart.on(click, function(params)...

《智能网联汽车自动驾驶功能测试规程》

一、 编制背景 2018 年4 月12 日&#xff0c;工业和信息化部、公安部、交通运输部联合发布《智能网联汽车道路测试管理规范(试行)》&#xff08;以下简称《管理规范》&#xff09;&#xff0c;对智能网联汽车道路测试申请、审核、管理以及测试主体、测试驾驶人和测试车辆要求等…...

NVIDIA CUDA Win10安装步骤

前言 windows10 版本安装 CUDA &#xff0c;首先需要下载两个安装包 CUDA toolkit&#xff08;toolkit就是指工具包&#xff09;cuDNN 1. 安装前准备 在安装CUDA之前&#xff0c;需要完成以下准备工作&#xff1a; 确认你的显卡已经正确安装&#xff0c;在设备管理器中可以看…...

Elasticsearch、Kibana以及Java操作ES 的快速使用

docker 安装elastic search 、 kibana&#xff08;可视化管理elastic search&#xff09; docker pull elasticsearch:7.12.1 docker pull kibana:7.12.1创建docker自定义网络 docker自定义网络可以使得容器之间使用容器名网络互连&#xff0c;默认的网络不会有这功能。 一定…...

逐鹿人形机器人,百度、腾讯、小米卷起来

长期不温不火的人形机器人产业迎来新风口&#xff0c;技术显著提升、新品层出不穷、资本投资态度也逐渐好转。 8月18日&#xff0c;2023世界机器人大会博览会正式开放&#xff0c;全面展示了机器人行业的新技术、新产品和新应用。据悉&#xff0c;此次展会展览总面积达4.5万平…...

AndroidStudio推荐下载和配置

1、推荐下载链接 Download Android Studio & App Tools - Android Developers 2、gradle配置案例 // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {maven { url https://maven.aliyun.…...

mysql异常占用资源排查

通过执行日志与连接信息排查 查看是否开启日志记录 mysql> show global variables like %general%; --------------------------------- | Variable_name | Value | --------------------------------- | general_log | OFF | | general_log_file…...

requests 库:发送 form-data 格式的 http 请求 (python)

安装 requests-toolbelt !pip install requests-toolbeltdemo from requests_toolbelt import MultipartEncoder import requestsm MultipartEncoder(fields{query: """第一&#xff0c;向量化匹配是有能力上限的。搜索引擎实现语义搜索已经是好几年的事情了…...

行测图形推理规律(一)元素组成

题库&#xff1a;粉笔网题库 (fenbi.com) 不知道和测评的行测题库是不是一样的&#xff0c;但是总结的规律应该是一样的。 规律并不唯一&#xff0c;题库的答案也只是参考答案&#xff0c;切勿当杠精&#xff0c;你觉得你的规律更合适就别管。本人所归纳的规律仅代表本人想法…...

【python爬虫】13.吃什么不会胖(爬虫实操练习)

文章目录 前言项目实操明确目标分析过程代码实现 前言 吃什么不会胖——这是我前段时间在健身时比较关注的话题。 相信很多人&#xff0c;哪怕不健身&#xff0c;也会和我一样注重饮食的健康&#xff0c;在乎自己每天摄入的食物热量。 不过&#xff0c;生活中应该很少有人会…...

深入理解联邦学习——联邦学习与现有理论的区别与联系

分类目录&#xff1a;《深入理解联邦学习》总目录 作为一种全新的技术&#xff0c;联邦学习在借鉴一些成熟技术的同时也具备了一定的独创性。下面我们就从多个角度来阐释联邦学习和其他相关概念之间的关系。 联邦学习与差分隐私理论的区别 联邦学习的特点使其可以被用来保护用…...

基于Python+DenseNet121算法模型实现一个图像分类识别系统案例

目录 介绍在TensorFlow中的应用实战案例最后 一、介绍 DenseNet&#xff08;Densely Connected Convolutional Networks&#xff09;是一种卷积神经网络&#xff08;CNN&#xff09;架构&#xff0c;2017年由Gao Huang等人提出。该网络的核心思想是密集连接&#xff0c;即每…...

旋转图片两种方法

这两种方法在旋转图像时&#xff0c;可能会产生一些不同的效果&#xff1a; rotate_image_new()旋转后的图像完全包含旋转前的内容&#xff0c;并且填充边界尽可能小 rotate_image() 保持原始图像的大小&#xff0c;并根据填充选项决定是否填充边界为白色。如果 if_fill_whit…...

10 mysql tiny/small/medium/big int 的数据存储

前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 int 类类型的相关数据的存储 …...

UI自动化测试之Jenkins配置

团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试&#xff0c;但由于各种原因&#xff0c;接口自动化测试那部分功能整个废弃掉了&#xff0c;其中和易用性有很大关系…...

电视盒子什么品牌好?数码博主盘点目前性能最好的电视盒子

电视盒子是非常重要的&#xff0c;老人小孩基本每天都会看电视&#xff0c;而电视盒子作为电视盒子的最佳拍档销量十分火爆&#xff0c;我自己每个月都会测评几次电视盒子&#xff0c;今天给大家详细解读一下电视盒子什么品牌好&#xff0c;看看目前性能最好的电视盒子是哪些&a…...

OpenClaw资源优化:Phi-3-mini-128k-instruct模型量化与推理加速实践

OpenClaw资源优化&#xff1a;Phi-3-mini-128k-instruct模型量化与推理加速实践 1. 为什么需要优化Phi-3-mini-128k-instruct的性能 当我第一次在OpenClaw中接入Phi-3-mini-128k-instruct模型时&#xff0c;就遇到了一个典型问题&#xff1a;虽然这个128k超长上下文模型在处理…...

红外遥控技术原理与工程实践

1. 红外遥控技术基础解析 红外遥控技术自20世纪80年代开始普及&#xff0c;如今已成为家电控制领域最成熟可靠的解决方案之一。作为一名电子工程师&#xff0c;我在多个智能家居项目中都深度应用过红外控制模块。红外技术的核心优势在于其简单可靠的物理层实现和标准化的通信协…...

OpenClaw多模态探索:Qwen3-32B驱动截图OCR与结构化数据处理

OpenClaw多模态探索&#xff1a;Qwen3-32B驱动截图OCR与结构化数据处理 1. 项目背景与需求场景 在日常工作中&#xff0c;我们经常遇到需要从截图或PDF文档中提取表格数据的情况。传统OCR工具虽然能识别文字&#xff0c;但往往无法保持表格结构&#xff0c;导致后续需要大量手…...

OpenClaw性能调优实战:Qwen3-32B在RTX4090D上的量化推理加速

OpenClaw性能调优实战&#xff1a;Qwen3-32B在RTX4090D上的量化推理加速 1. 为什么需要性能调优&#xff1f; 去年冬天&#xff0c;当我第一次在RTX4090D上部署Qwen3-32B模型时&#xff0c;本以为24GB显存足以轻松应对各种任务。但现实很快给我上了一课——一个简单的网页内容…...

基于单片机金沙河粮仓环境监测系统设计与实现

一、摘要 本文围绕基于单片机的金沙河粮仓环境监测系统展开设计与实现研究。系统以单片机为核心&#xff0c;集成 DHT11 、MQ - 135 等传感器&#xff0c;可实时精准监测粮仓温湿度、气体成分等关键环境参数。借助 LoRa、ESP8266 实现数据的可靠传输与远程通信 &#xff0c;OLE…...

Windows下IDEA远程开发全离线配置指南(含JetBrainsClient避坑)

Windows下IDEA远程开发全离线配置实战指南 最近在给某金融机构做内部开发环境迁移时&#xff0c;遇到了一个棘手问题&#xff1a;他们的生产网络完全隔离外网&#xff0c;但开发团队又急需使用IDEA的远程开发功能。经过两周的反复试验&#xff0c;终于摸索出一套完整的离线配置…...

带你读顶会论文丨基于溯源图的APT攻击检测

带你读顶会论文丨基于溯源图的APT攻击检测 **摘要&#xff1a;**本次分享主要是作者对APT攻击部分顶会论文阅读的阶段性总结&#xff0c;将从四个方面开展。 本文分享自华为云社区《[论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结》&#xff0c;作者&#xff1a;eastmoun…...

Comsol水力压裂:渗流 - 应力 - 损伤耦合模型探索

Comsol水力压裂 渗流-应力-损伤耦合模型 本模型采用Comsol软件模拟注水过程中的岩石损伤和孔隙水压发展&#xff0c;采用经典摩尔库伦准则和抗拉阶段准则计算损伤 无需借MATLAB计算损伤变量在Comsol里面采用内置模块计算损伤变量&#xff0c;计算效率高 岩石采用Weibull分布描述…...

30美元实现AI视觉革命:OpenGlass开源智能眼镜的平民化方案

30美元实现AI视觉革命&#xff1a;OpenGlass开源智能眼镜的平民化方案 【免费下载链接】OpenGlass Turn any glasses into AI-powered smart glasses 项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass 当商业智能眼镜以数千元价格将普通用户拒之门外时&…...

**发散创新:基于Python与OpenCV的智能交通流量实时监测系统设计

发散创新&#xff1a;基于Python与OpenCV的智能交通流量实时监测系统设计与实现 在智慧城市建设不断深化的背景下&#xff0c;智能交通系统&#xff08;ITS&#xff09; 正成为城市治理现代化的重要突破口。传统的交通信号控制多依赖固定时长或人工经验判断&#xff0c;难以应对…...