Android应用程序访问库资源

Android应用程序访问库资源,android,libraries,Android,Libraries,我正在从事的项目要求可以构建N个独立的应用程序,但也需要一个超大的应用程序,它有一个选择菜单,可以执行其中一个 这些应用程序之间的区别主要是资源和XML,因此它们都使用一个公共库,对XML中提供的资产和信息做出反应 问题是关于“母亲”的申请。它必须能够使用一个独立的资源集使用公共库。我意识到我可以通过以下方式访问其他应用程序资源: Resources R2 = getPackageManager().getResourcesForApplication("com.example.appa");

我正在从事的项目要求可以构建N个独立的应用程序,但也需要一个超大的应用程序,它有一个选择菜单,可以执行其中一个

这些应用程序之间的区别主要是资源和XML,因此它们都使用一个公共库,对XML中提供的资产和信息做出反应

问题是关于“母亲”的申请。它必须能够使用一个独立的资源集使用公共库。我意识到我可以通过以下方式访问其他应用程序资源:

Resources R2 = getPackageManager().getResourcesForApplication("com.example.appa");
int id = R2.getIdentifier("image", "drawable", "com.example.appa");
Drawable myDrawable = R2.getDrawable(id);
这实际上解决了这个问题,我可以向库提供一个包字符串,以便它知道在哪里查找资源

问题是,为了让它工作,我需要在设备上安装这些独立的应用程序,而这是我无法做到的(把它想象成一个测验应用程序,独立的应用程序只是一个主题,而“母亲”则是一个主题)应用程序允许访问所有不同的主题,据我所知,Android Market不允许下载所有应用程序并安装它们,只是为了让我能够访问它们的资源)

从概念上讲,如果我能将这些独立的应用程序作为库并将它们添加到母应用程序中,这个问题就会得到解决。然后,母应用程序将根据用户选择使用包字符串,然后使用库。到目前为止,我还不能解决这个问题,我也找不到关于这个问题的信息,所以我担心这个问题无法解决


例如,每个主题应用程序都有一个intro.png,其中包含与应用程序主题相关的图像(例如罗马或希腊图像)我们的想法是访问package_string.intro.png,这样它会根据用户的选择自动访问正确的包。

经过努力,我终于发现资源被索引了,这意味着一个应用程序中只存在一个“intro.png”,无论您尝试链接多少库,无法创建对lib1.intro.png或lib2.intro.png的引用。最后,我构建了一个资源管理器系统,它可以根据需要与“lib1_intro”或“lib2_intro”一起工作。不是最干净的解决方案,但是,嗯,我想它是有效的

当我读到关于接受答案的内容时,将我的编辑移动到一个答案,这是应该如何做的,而不是仅仅编辑我的第一篇文章