Android14 AOSP 允许system分区和vendor分区应用进行AIDL通信

在Android14上,出于种种原因,system分区的应用无法和vendor分区的应用直接通过AIDL的方法进行通信,但是项目的某个功能又需要如此。

好在Binder底层其实是支持的,只是在上层进行了屏蔽。

修改 frameworks/native/libs/binder/BpBinder.cpp 文件,找到status_t BpBinder::transact方法,屏蔽相关判断语句或者错误返回即可。如下图:

diff 复制代码
diff --git a/native/libs/binder/BpBinder.cpp b/native/libs/binder/BpBinder.cpp
index 8d9955dd6..1476ab4e9 100644
--- a/native/libs/binder/BpBinder.cpp
+++ b/native/libs/binder/BpBinder.cpp
@@ -352,7 +352,7 @@ status_t BpBinder::transact(
                       Stability::levelString(stability).c_str(),
                       String8(getInterfaceDescriptor()).c_str(),
                       Stability::levelString(required).c_str());
-                return BAD_TYPE;
+                // return BAD_TYPE;
             }
         }

除非必要,不推荐这么做,所以还是保留了报错信息。强迫症可以删掉~

相关推荐
IT枫斗者2 分钟前
构建具有执行功能的 AI Agent:基于工作记忆的任务规划与元认知监控架构
android·前端·vue.js·spring boot·后端·架构
用户693717500138424 分钟前
XChat 为什么选择 Rust 语言开发
android·前端·ios
林栩link29 分钟前
【车载 Android】实践跨进程 UI 融合渲染
android
Paxon Zhang1 小时前
MySQL 大师之路**数据库约束,表设计,CRUD**
android·数据库·mysql
Indoraptor1 小时前
SurfaceFinger FrameTimeline 分析
android·源码阅读
zh_xuan1 小时前
Android 待办事项增加事项统计
android
zopple2 小时前
Laravel 10.x新特性全解析
android
鬼先生_sir2 小时前
MySQL进阶-SQL高级语法全解析
android
Kapaseker2 小时前
lazy 与 lateinit 到底有什么区别?
android·kotlin
黄林晴2 小时前
慌了!Android 17 取消图标文字,你的 App 可能要找不到了
android