食戟之灵父亲:jar包中资源问题总结

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 08:36:12
jar包中资源问题总结分类: Android 2011-07-28 17:54 228人阅读 评论(0) 收藏 举报

之前提出来一个问题,参见

http://topic.csdn.net/u/20110630/14/ad71749c-631b-4fef-950d-92d5d6983628.html

分析结果如下:

1、jar被包含进其他项目后,最终生成的apk文件中包含jar中的资源(目录结构也是一样的),这个可以通过zip打开jar和apk查看。

2、jar中的资源应该也是被jvm管理起来的,但是由于其实际id与原始jar项目中产生的id不一致,导致使用原始jar项目中的资源id不能访问到实际资源。只能通过getClass().getClassLoader().getResourceAsStream()的方式进行访问。


对于使用jar方式进行组件开发,有以下需要注意:

1. jar包中一般只包含代码不包含资源。

2. 如果要在jar中包含资源,则资源文件不应该放在默认的res目录下(因为导入其他项目后可能出现重名冲突),应该在package目录下创建专用的资源目录,如此通过pakcage的不重名来确保导入后资源不冲突。同时,jar中代码不能直接使用R类中资源id进行访问,应该通过getClass().getClassLoader().getResourceAsStream()进行加载。

3. 字付串资源可以定义成常量的方式来使用。