android资源打jar包与其他解决方案

转自:http://www.eoeandroid.com/blog-493288-3123.html

问题:我需要在多个android项目中使用同样的代码,而且这些代码又包含资源文件,怎么办?

    当然会想到打成jar!

    但是,当辛辛苦苦把资源文件与各种java文件打成一个jar在另外一个程序中使用的时候,无情的报错:重复的命名(大致是这个意思,具体是什么忘记了),

原因是jar的AndroidManifest.xml、drawable等文件名与我现在项目中的冲突了,但是把jar包项目中的这些文件名改了又不好使,所以,有人把资源文件提取出来放在src目录中,而不是传统的res目录下。

图个方便,我直接把图片放到了Activity同一包下。

然后在Activity中如下引用这个图片资源:

        Bitmap bm = BitmapFactory.decodeStream(getClass().getClassLoader().getResourceAsStream("com/packetjar/main_bg_hair.jpg"));

        ImageView iv = new ImageView(context);

        iv.setImageBitmap(bm);   

注意图片路径的写法。

这个是图片,如果是字符串,就可以弄个静态类来保存这些字符串。

然后打成jar包,怎么打jar包就不说了,注意把那些引起冲突的文件的勾都去掉:

由于去掉了配置文件啊什么的,所以如果jar中包含Activity这些东西,而且res下面不止是图片和字符串啊,还有动画、样式等文件, 会变得很麻烦,果断放弃了。

 

幸亏有种比较好的代替方案,就是:

我在新建android项目的时候,可以把这个项目设置成库项目。所谓的库项目,就是指我这个项目可以被别的项目所引用(当然这个库项目与引用这个库项目的android项目必须在一个workspace下面)。

设置成库项目的方法如下,先新建一个android项目,然后右击项目->properties->Android

勾上。

这时你会发现,bin目录下的内容变了:

在bin下面生成了一个jar包,而且res下面是空的,在不是库项目的情况下大家可以看下是什么。

按正常的流程,我写一个Activity,引用res下的资源,并在配置文件中配置。

现在,我要在另外一个项目中引用这个库项目。

右击这个新的项目,properties->Android->

点Add,然后会让你选择添加库项目,选择好了后点确定。

这时发现项目发生了一些变化,多了一个目录:

里面有一个jar文件,就是刚才库项目中的那个bin目录下的jar嘛。

这样,我就可以引用库文件下的内容了,Activity、Service这些也不用再在配置文件中定义了。

觉得这种方法很方便。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值