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;
             }
         }

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

相关推荐
Starry-sky(jing)41 分钟前
Vidda ADB 开启:R Pro 65 找不到开发者选项的处理与连接验收
android·adb·远程控制·电视·vidda
雨白1 小时前
从原理到实践:使用 Kotlin KSP 仿写 ButterKnifeLite
android·kotlin
疯华整猫2 小时前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
传奇开心果3 小时前
【探秘 Jetpack Compose 框架深水区】 第8课:rememberSaveable 的边界在哪里?——Bundle、Saver 与什么值得跨进程存活
android·kotlin
Frankie_stand4 小时前
测试自动化实战指南:从脚本化、自动判据到 CI 集成的完整落地路径
android·ci/cd·自动化
恋猫de小郭5 小时前
Flutter 大小核优化又被回滚,然后又开新提案?
android·前端·flutter
Kapaseker5 小时前
领导问我 Kotlin 的 Nothing 是什么?
android·kotlin
韩曙亮6 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
三少爷的鞋7 小时前
不改变异步本质,只改变代码组织:Telegram 项目的 Kotlin 协程实践
android
好的佩奇15 小时前
蓝牙之广播与扫描
android·flutter·蓝牙