Android不会在任何外部jar中查找资源,因为它们只包含可执行代码。
如果您想要将资源发布为库,事情会变得更加难看。在这种情况下,您可以像创建framework-res.apk一样创建资源apk。要做到这一点,创建一个没有源的Android项目,将资源文件,并添加到您的AndroidManifest.xml:
...
<application
...
android:hasCode=false >
...
</application>
在这种情况下,你将不得不直接从RES-APK检索资源ID :
int resId = getPackageManager().getResourcesForApplication("res.apk.package.name")
.getIdentifier("chat_list_container" , "layout", "res.apk.package.name");
// Maybe getResources.getIdentifier() works, but I'm not sure.
LinearLayout container = (LinearLayout)findViewById(resId);
我应该指出,这将运行应用程序的设备也必须安装了资源的apk。
你是包装资源还在罐子里?你应该制作一个图书馆项目,并在另一个参考相同的情况下,如果是这样的话 – Raghunandan
是的我认为我增加了资源,我怎么能确定它?在jar中,我可以看到R文件中包含一些关于外部资源ID的内容。我把它作为库和参考.. –
你不能将资源打包成jar。 – Raghunandan