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

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

相关推荐
用户69371750013841 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android1 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才2 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶2 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle
汪海游龙3 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
qq_283720054 小时前
MySQL技巧(四): EXPLAIN 关键参数详细解释
android·adb
没有了遇见5 小时前
Android 架构之网络框架多域名配置<三>
android
myloveasuka6 小时前
[Java]单列集合
android·java·开发语言
fundroid6 小时前
Room 3.0 完全解析:一次面向未来的现代化重构
android·数据库·database·kmp
漂洋过海来看你啊6 小时前
Jetpack Compose高效列表实战:状态管理与性能优化指南
android