[MTK6771] android13系统启用OMAPI 支持esim.me

OMAPI是啥?看看谷歌的解释:
在这里插入图片描述
说了一大堆懂的人不需要看,不懂的还是看不懂,我就是后者
总之说人话就是,像SIM卡,NFC这类模块需要用到这个东西,那么接着往下看
在这里插入图片描述
上层APP想要使用这个OMAPI供应商稳定版服务功能,会调用到SecureElement这个APP的接口
以下为SecureElement的代码路径:
在这里插入图片描述
但是安卓13版本上SecureElement默认是不开启OMAPI供应商稳定版服务功能,需要在packages/apps/SecureElement/res/values/config.xml这个路径下将“secure_element_vintf_enabled” 这个属性修改为"true"。咋们看看secure_element_vintf_enabled 是哪段代码中被加载
在这里插入图片描述
看看VSTABLE_SECURE_ELEMENT_SERVICE 这个变量的值是android.se.omapi.ISecureElementService/default
可以看到当secure_element_vintf_enabled为true的时候,android.se.omapi.ISecureElementService/default 这个hal层服务才被加载。

那么将secure_element_vintf_enabled 属性修改为true后,编译刷机。
开机完成后进入Launcher,弹出SecureElement的报错框,随后系统进入recovery模式,使用adb logcat > F:/log/1111.log抓取日志,看看为什么报错,报错日志如下:

03-14 10:27:19.273  2799  2799 I SecureElementService: Check if terminal eSE1 is available.        // 检查eSE1 是否可用
03-14 10:27:19.274   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.2::ISecureElement/eSE1 in either framework or device VINTF manifest.    // 在资源文件中找不到android.hardware.secure_element@1.2::ISecureElement/eSE1这个服务
03-14 10:27:19.274  2799  2799 D SecureElement-Terminal-eSE1: SE Hal V1.2 is not supported        // SE Hal V1.2 不被支持
03-14 10:27:19.275   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.1::ISecureElement/eSE1 in either framework or device VINTF manifest.
03-14 10:27:19.276  2799  2799 D SecureElement-Terminal-eSE1: SE Hal V1.1 is not supported
03-14 10:27:19.276   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.0::ISecureElement/eSE1 in either framework or device VINTF manifest.
03-14 10:27:19.277  1976  2602 I NearbyDiscovery: Show notifications: 0 total, no changes since last shown, no-op. [CONTEXT service_id=265 ]
03-14 10:27:19.277  2799  2799 I SecureElementService: No HAL implementation for eSE1
03-14 10:27:19.277  2799  2799 I SecureElementService: Check if terminal SIM1 is available.
03-14 10:27:19.277   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.2::ISecureElement/SIM1 in either framework or device VINTF manifest.
03-14 10:27:19.278  2799  2799 D SecureElement-Terminal-SIM1: SE Hal V1.2 is not supported
03-14 10:27:19.278   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.1::ISecureElement/SIM1 in either framework or device VINTF manifest.
03-14 10:27:19.278  2799  2799 D SecureElement-Terminal-SIM1: SE Hal V1.1 is not supported
03-14 10:27:19.279   409   409 I hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.0::ISecureElement/SIM1 in either framework or device VINTF manifest.
03-14 10:27:19.279  2743  2743 D WindowTokenClient: Only apply configuration update to Resources because shouldReportConfigChange is false.
03-14 10:27:19.279  2743  2743 D WindowTokenClient: android.window.WindowTokenClient.attachToDisplayArea:118 android.window.WindowContextController.attachToDisplayArea:107 android.window.WindowProviderService.attachBaseContext:161 android.app.Service.attach:915 android.app.ActivityThread.handleCreateService:4553 
03-14 10:27:19.279  2799  2799 I SecureElementService: No HAL implementation for SIM1
03-14 10:27:19.279  1976  2602 I NearbyDiscovery: DiscoveryModule: EventLoop destroyed [CONTEXT service_id=265 ]
03-14 10:27:19.280   408   408 I servicemanager: Could not find android.se.omapi.ISecureElementService/default in the VINTF manifest.
03-14 10:27:19.281  2799  2799 D AndroidRuntime: Shutting down VM                              // 虚拟机被关闭
03-14 10:27:19.282  2799  2799 E AndroidRuntime: FATAL EXCEPTION: main
03-14 10:27:19.282  2799  2799 E AndroidRuntime: Process: com.android.se, PID: 2799
03-14 10:27:19.282  2799  2799 E AndroidRuntime: java.lang.RuntimeException: Unable to create service com.android.se.SecureElementService: java.lang.IllegalArgumentException: VINTF declaration error
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4568)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7941)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: VINTF declaration error
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:3015)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Parcel.createException(Parcel.java:2995)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2978)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2920)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.IServiceManager$Stub$Proxy.addService(IServiceManager.java:446)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:72)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.ServiceManager.addService(ServiceManager.java:213)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.os.ServiceManager.addService(ServiceManager.java:180)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at com.android.se.SecureElementService.onCreate(SecureElementService.java:216)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4555)
03-14 10:27:19.282  2799  2799 E AndroidRuntime: 	... 9 more
03-14 10:27:19.282  2056  2247 W MediaProvider: getVolumePath for unknown volume: internal
03-14 10:27:19.285  1215  2001 I mtkpower_client: [Legacy][PowerHal_Wrap_notifyAppState] com.android.se/com.android.se pid=2799 state:3
03-14 10:27:19.285  1215  2001 I game_scn: collectForegroundAppList packName=com.android.se, actName=com.android.se, pid=2799, uid=1068, state:DEAD
03-14 10:27:19.285   558   675 I libPowerHal: [perfNotifyAppState] pack:com.android.se, act:com.android.se, state:3, pid:2799, uid:1068, fps:-1
03-14 10:27:19.285   558   675 I libPowerHal: [perfNotifyAppState] pack:com.android.se, pid:2799, STATE_DEAD
03-14 10:27:19.285   558   675 D RilUtility: notify_rild_crash_pid_set certPid:-1, crash:2799, scn:0x0
03-14 10:27:19.286  2771  2771 I DebugLoggerUI/MyApplication: -->onCreate()
03-14 10:27:19.287  1215  2001 W ActivityManager: Process com.android.se has crashed too many times, killing! Reason: crashed quickly
03-14 10:27:19.291  2799  2799 I Process : Sending signal. PID: 2799 SIG: 9
03-14 10:27:19.292  2771  2771 I DebugLoggerUI/LogReceiver:  -->onReceive(), action=android.intent.action.BOOT_COMPLETED
03-14 10:27:19.294  2771  2832 I DebugLoggerUI/LogConfig: -->checkConfig()
03-14 10:27:19.295  2771  2832 I DebugLoggerUI: isTaglogEnable ? false
03-14 10:27:19.298  1215  2829 I DropBoxManagerService: add tag=system_app_crash isTagEnabled=true flags=0x2

根据日志可以看到导致SecureElement报错,系统也进入recovery模式的罪魁祸首就是hal层中OMAPI相关的服务并没有被加载

hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.0::ISecureElement/eSE1 in either framework or device VINTF manifest..    // eSE1相关hal层服务未被加载 
hwservicemanager: getTransport: Cannot find entry android.hardware.secure_element@1.2::ISecureElement/SIM1 in either framework or device VINTF manifest.     // SIM1相关hal层服务未被加载

像这类问题,一般是在device.mk文件中配置编译规则,编译规则一般是判断宏定义的值来决定hal层的服务是否被编译

先记录到这,后续更新

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

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

相关文章

五、分支结构

一、程序的组织结构 无论程序是大是小,都可以用顺序结构、选择结构和循环结构表示 二、单分支结构 单分支结构:如果表达式的值是True就执行代码,如果表达式的值是False就跳过语句执行后面语句 ageint(input(请输入你的年龄:)) i…

富格林:正规观念阻挠诱导被骗

富格林悉知,现货黄金一直是市场上备受关注的投资产品。新手投资者由于经验不足以及没有正规观念指引,容易出现诱导被骗的情况。事实上,拥有正规的观念指引可以在很大程度阻挠我们诱导被骗。下面富格林给大家分享一些阻挠被骗的做单技巧。 找到…

Web框架开发-Django-数据库表的单表查询

一、添加表记录 对于单表有两种方式 方式一: 1 2 book_obj=models.Book(title="python全栈开发",price=100,publishData="2015-08-08", author=张三, publish=机械工业出版社) book_obj.save() 方式二: 1 2 # 方式二: models.Book.objects.cr…

综合系列之大四学生找工作的自荐信模板推荐

模板一 尊敬的招聘负责人: 您好!我是一名即将毕业的大四学生,非常荣幸有机会向您自荐,希望能有机会加入贵公司。 在学校期间,我始终保持积极进取的态度,不断努力学习专业知识,提升自己的综合…

C语言例3-31:位移位运算的例子

1. 位移位运算符 左移 <<右移 >>运算对象只能是整型或字符型数据参与位移位运算时&#xff0c;运算对象以二进制形式进行相应的按位运算。 2. 运算规则 移位时&#xff0c;移出的位数全部丢弃&#xff0c;移出的空位补入的数与左移还是右移有关。若是左移&#…

“贷”动“新质生产力”?各大银行出手了!(附产业图谱下载)

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 自去年9月首次提出以来&#xff0c;新质生产力的重要性不断得到强化&#xff0c;今年两会期间&#xff0c;更是被写入了政府工作报告并被列为了十大任务之首。 伴随新质生产力培育元年拉开序幕&#xff0c;金融…

HarmonyOS应用开发者高级认证流程及其题库

一、HarmonyOS应用开发者高级认证 掌握鸿蒙的核心概念和端云一体化开发、数据、网络、媒体、并发、分布式、多设备协同等关键技术能力,具备独立设计和开发鸿蒙应用能力。认证流程如下: 1.1 课程学习 通过在线课程学习,掌握HarmonyOS高级知识。 1.2 考试说明 1、考试需实…

深度学习 精选笔记(12)卷积神经网络-理论基础1

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增)&#xff0c;以达到集多方教程的精华于一文的目的。 ③非常推荐上面&#xff08;学习参考&#x…

SpringBoot面试题及答案

1、spring-boot-starter-parent 有什么用 &#xff1f; spring-boot-starter-parent 是一个特殊的 starter&#xff0c;它用于提供 Spring Boot 应用的默认配置。当你在项目中以父项目的形式引入 spring-boot-starter-parent 时&#xff0c;它将带来以下好处&#xff1a; 预定…

Docker启动失败,报错Is the docker daemon running? Is the docker daemon running?

问题&#xff1a; docker没有正常启动 解决方法&#xff1a; systemctl daemon-reload systemctl restart docker.service

【MySql实战--日志系统:一条SQL更新语句是如何执行的?】

前面我们系统了解了一个查询语句的执行流程&#xff0c;并介绍了执行过程中涉及的处理模块。相信你还记得&#xff0c;一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块&#xff0c;最后到达存储引擎。 那么&#xff0c;一条更新语句的执行流程又是怎…

Git分支详解:分支创建、合并、删除等操作

Git是一种强大的分布式版本控制系统&#xff0c;它的分支功能使得团队协作和代码管理变得更加灵活和高效。分支可以让开发人员在不影响主线开发的情况下进行并行开发和实验性工作。本篇博客将详解Git分支的创建、合并、删除等操作&#xff0c;帮助你更好地理解和使用Git的分支功…

LeetCode-60题:排列序列解法一(原创)

【题目描述】 给出集合 [1,2,3,...,n]&#xff0c;其所有元素共有 n! 种排列。按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a;"123" 、"132" 、"213" 、"231"、"312"、…

ppt插件构思

功能&#xff1a; 1. 编辑代码 2. 代码运行 3. 代码检查 4. 代码格式化 5. 运行简单的可视化、游戏化、交互式 这是一个针对PPT&#xff08;Microsoft PowerPoint&#xff09;的插件概念描述&#xff0c;该插件旨在提升PPT在演示编程相关内容时的功能丰富度。以下是这个插…

用户需求沟通的4大常见障碍及解决方案

有效的用户需求沟通对于软件项目的成功至关重要。它可以帮助项目团队更好地理解用户需求&#xff0c;从而设计出更符合用户期望的产品&#xff0c;有助于建立和维护良好的客户关系&#xff0c;提高客户满意度。 因此&#xff0c;我们需重视用户需求沟通中的常见障碍&#xff0c…

低功率接地故障断路器(GFI)控制芯片D4147简介

应用领域 D4147主要用于三线制GFCI输出接口、GFCI芯片断路器、便携式GFCI线路等领域的产品&#xff0c;侦测并防护火线对地故障和零线对负载短路故障。 功能介绍 D4147 为低功率接地故障断路器&#xff08;GFI&#xff09;控制器芯片&#xff0c;用于检测危险的接地故障电流路径…

MapStruct使用

参考博客 <!-- MapStruct核心依赖 --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>1.4.2.Final</version></dependency><!-- MapStruct注解处理器&#xff0c;用于在编…

Java三要素实名认证接口代码调用示例-身份证实名认证接口厂家

网络实名制是指用户在网络上进行网络活动时对其提供的身份信息的真伪进行核验&#xff0c;网络管理的有效手段&#xff0c;有助于网络管理部门更有效地管理网络&#xff0c;防止不法分子利用网络进行违法活动&#xff0c;有助于防止虚假信息的传播&#xff0c;维护网络安全和公…

Redis的脑裂问题

Redis 脑裂&#xff08;Split-brain&#xff09;问题是指在分布式系统中&#xff0c;特别是基于主从复制和哨兵&#xff08;Sentinel&#xff09;模式的Redis集群中&#xff0c;由于网络分区&#xff08;network partition&#xff09;而导致部分节点组成了独立可用的服务&…

【原创】JDK17获取CPU占用率、内存占用率以及堆内存使用情况

前言 我之前一篇文章&#xff1a; 【原创】Java获取CPU占用率、内存占用率最简单的方式_java获取cpu使用率-CSDN博客 这篇文章虽然简单&#xff0c;但是只能针对JDK8&#xff0c;换成现在模块化的JDK后&#xff0c;OperatingSystemMXBean类就无法反射获取其中的信息了&#…