【发布时间】:2021-07-13 07:11:39
【问题描述】:
AIDL接口更新后如何让Android App向后兼容?
例如,如果我的应用访问一个 AIDL 接口来完成 IPC 调用:
interface SampleAidl {
int sampleMethod(int i);
}
在不同的平台上,相同的 AIDL 更新为新版本,不仅更改了原始 sampleMethod 的参数,还添加了另一个方法:
interface SampleAidl {
int sampleMethod(int i, byte[] ext);
void sampleMethodExtra();
}
AIDL 名称和包保持不变。
我有一个标志可以决定使用哪个版本的 AIDL。
问题是,是否有任何解决方案/线索表明我的应用程序可以在编译时包含两个版本的 AIDL,然后运行时根据标志选择正确的版本?
或者唯一的方法是,我的应用需要有单独的版本来支持不同的 AIDL?
【问题讨论】:
标签: java android mobile-application aidl