首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AIDL对JAR/AAR

AIDL对JAR/AAR
EN

Stack Overflow用户
提问于 2017-03-27 15:21:10
回答 1查看 1.1K关注 0票数 1

我现在是个初级开发人员。我听说过IPC,现在我正在学习Android。

我创建了一个.aidl文件,在服务中实现了来自.aidl的方法,并且在另一个应用程序中使用了这些方法,但我不明白这一点。

为什么我不能只制作一个包含该服务的.aar.jar文件,而不使用AIDL?何时使用AIDL,何时导入.jar文件。更普遍的是,当我们可以处理.jar文件时,使用IPC有什么意义?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-27 16:25:13

为什么我不能只制作一个包含该服务的.aar或.jar文件,而不使用AIDL?

来自https://developer.android.com/guide/components/aidl.html文档

只有在允许来自不同应用程序的客户端访问IPC服务并希望在服务中处理多线程时,才需要使用AIDL。

当您将Service打包到aar或jar中时,该服务可以在任何地方运行,即在相同的应用程序中或在不同的应用程序进程中运行。AIDL是专门为IPC设计的,即不同进程中的服务和应用程序。

更普遍的是,当我们可以处理.jar文件时,使用IPC有什么意义?

IPC是一个提供数据共享机制的操作系统,jar是一种字节码分发方法。它们是不同的东西。

假设您想使用某个人提供的服务,而您没有它的源或字节码。您只能在运行时在由提供程序管理的进程中访问此服务,这与您自己的不同。在这种情况下,您需要由提供者指定的AIDL才能与服务进行通信。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43050371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档