你能在不同的APK之间共享资源吗?

11

是否可以跨APK共享资源?例如,应用程序A(在APK A中)可以从应用程序B(在APK B中)加载图标或布局视图吗?

4个回答

24
你可以使用getResourcesForApplication。这样,只要你知道其他应用程序包的名称以及要加载的资源的ID或名称,就可以从其他应用程序包中加载任何内容。
顺便提一下,由于您的应用程序包与“客人”包之间可能存在ID不匹配的情况,因此布局无法直接加载,需要使用XMLResourceParser进一步处理它们。

你好,我们可以从其他应用程序调用Java类吗? - Rajan1404930

1
两个不同的应用程序可以共享资源 - 图像/文件等,如果它们使用相同的证书进行签名。 请查看Android文档此处

0

0

你可以让两个应用程序使用同一个Android库, 以便共享资源,如活动等。

Android库项目是一个开发项目,包含共享的Android源代码和资源。其他Android应用程序项目可以引用库项目,在构建时将其编译后的源代码包含在它们的.apk文件中。多个应用程序项目可以引用同一个库项目,并且任何单个应用程序项目都可以引用多个库项目。


2
请注意,库项目仅在构建时存在。一旦部署到设备上,资源将在应用程序之间进行复制。 - Pontus Gagge
如果库已经安装在系统上,您可以避免重复。例如,Crosswalk就提供了这个选项,因此20MB的库只需安装一次,就可以被系统上的任何其他应用程序重复使用。 - Kikiwa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接