文章目录

前言

上一篇文章在framework中添加aidl(原文《framework中添加自己的aidl》),在Android p上运行没问题,但到了Android 13上就出现如下提示。

frameworks/base/core/java/android/biumall/demo/DemoService.java:8: error: Methods calling system APIs should rethrow `RemoteException` as `RuntimeException` (but do not list it in the throws clause) [RethrowRemoteException]

记录一下方便自己查阅。

正文

原因

因为AIDL自动生成的Java文件不满足Android 12 framework API的规范:framework层不能直接暴露原生AIDL文件。

修改的方式是在aidl文件上添加/** {@hide} */,就可以解决所有AIDL自动生成的文件。

如下:

// IDemo.aidl
package android.biumall.demo;

/** {@hide} */
interface IDemo {
    void setName(String name);
    String getName();
}

参考文章

  1. 增加aidl 文件提示Methods calling system APIs should rethrow RemoteException as RuntimeException

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

none
暂无评论...