首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Android资源文件打包到可分发的Jar文件中

将Android资源文件打包到可分发的Jar文件中
EN

Stack Overflow用户
提问于 2010-01-03 21:45:09
回答 5查看 27.2K关注 0票数 48

我正在开发一些可重用的Android代码,我想分发给其他开发人员,以便在他们自己的应用程序中使用。该代码有一些资源依赖(布局,xml和png绘图),我希望能够包括和引用在一个单独的包(Jar文件)。

这是可能的吗?如果是这样的话,最好的方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-03 22:10:23

我没有给你任何乐观的消息。一般来说,您不能像预期的那样容易地分发您自己的包。主要问题是自动生成的R文件。你可能对它做了一些参考--你有你的布局和绘图。你的库的用户将有他自己的R文件-包含他的资源的ids,而不是你的库提供的那些。

在可绘制资源的情况下,你可以用经典的方式阅读它们,而不需要R文件。但据我所知,您不能从外部xml文件膨胀布局。

所以这里最丑陋的技巧是将你的库和你所有的资源一起分发,用户必须将其复制到他的"res“文件夹中。老实说,你的问题没有好的解决方案。抱歉的。致以问候!

票数 26
EN

Stack Overflow用户

发布于 2012-09-27 19:51:27

您可以使用android方法动态获取资源id。

代码语言:javascript
复制
int preferences = context.getResources().getIdentifier("preferences", "xml", context.getPackageName());

稍后,必须将您的资源包含(复制)到新项目中。

票数 3
EN

Stack Overflow用户

发布于 2015-04-10 23:22:22

我使用的是user558185解决方案,但这里有一个更简单的方法。如果您资源位于库项目中(例如,针对Cordova插件),则可以使用context.getResources().getIdentifier(name, className, context.getPackageName());获取资源

当库项目资源R文件没有正确生成,并且R packageName与库项目所需的packageName不匹配时,就会发生这种情况。

用法与user558185 answer相同,但它使用的是原生Android方法。

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

https://stackoverflow.com/questions/1995004

复制
相关文章

相似问题

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