您的位置:首页 > 移动开发 > Android开发

(Android)如何将一个高复用性项目供其他项目使用(jar导出,导入,Is Library)(转)

2015-04-19 01:25 471 查看
我们做过一个项目,以后这个项目里的代码经常会被其他项目用到。对于这种复用性高的项目(后面称为“项目1”),要被其他项目使用(后面称为“项目2”),为了减少代码量,我们目前有两种方法。

一种方法是:将项目1打包成jar文件,导出,导入到项目2里,供项目2调用。

另一种方法:将项目1作为 Library供项目2调用。

一、jar导出,导入

1.jar导出

现在有一个现成的项目1





功能是竖立的SeekBar

这里面只有一个VerticalSeekBar类,无Activity和资源文件需要打包。

现在我们开始打包:

(1)右键工程选择导出:



(2)选择导出目标为:java->JAR文件:



(3)把一些不必要的文件勾选掉,如下图:



一般,不需要打入jar包的文件有:

1、/src/目录下的activity文件

2、根目录下的文件,.classpath, .project, manifest.xml, .properties, .cfg等

3、/bin/目录下的文件,如:manifest.xml, .dex, .apk, resources.ap_等

4、/bin/res目录

5、/res/drawable 相关的目录

6、/res/layout/ 目录

7、/res/menu/ 目录

到了这一步,己经完成。

上面就是讲解如何将Android项目导出为jar文件,其实这样做是没有问题的,因为这是普通生成jar文件的情况。

两种其他情况解决方法:

(1)要将Activity或者资源文件打包 :

暂时有两种解决办法:其一/article/1387337.html

其二项目1 Is Library(要把源码发给第三方,不安全)

(2)项目1本身已经包含第三方jar:

项目1 Is Library(要把源码发给第三方,不安全),后面“二”会详解。

直接用Eclipse将Android项目打包,难道就可以把依赖的jar文件或library关联起来了?似乎没有那么强大,经过网上查询,将整个项目打包是不允许的,调用会出错。

2.jar导入

(1)绝对路径方法:(绝对路径不推荐)

右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,如下图所示:选择Add External JARs,就可以逐个(也可以选择多个jar,但是限制在同一个文件夹中)添加第三方引用jar包。



这种方式操作简便,但是每个要调用项目1的项目,都需要重新引入Jar包,Jar包不具有可重用性。jar包绝对地址也很容易出错,所以不推荐。

(2)自定义库方法(绝对路径不推荐):

















这种方法虽然可以重复使用,但也是绝对路径,不推荐。

(3)放入自定义文件夹方法:(推荐

在项目2根目录下新建文件夹(任意取名),然后将要导入的jar文件复制到这个文件夹里,然后:



检查不会报错。





这种方法虽然不可重复使用,但是简便,是相对路径,不易出错,推荐使用。

(4)把jar放入libs方法(相对路径,推荐





与方法3比少了Add to Build Path 步骤,所以更加简便,也是相对路径,不易出错,推荐使用。(虽然不可重复使用)

二、Is Library(绝对路径)

我上网也查了很久,也看了一些博文,还是没有找到合适的解决方案。

有些是这么使用sdk的,在Android中有依赖jar的就不能再将其打包成jar文件了,我们可以将其作为library(库文件)让其他项目引用,例如多酷的sdk使用这样的library,是一个Android项目形式存在的。



多酷将其设置为Is Library





[b]多酷提供的demo是这样引用的:[/b]





当项目1作为sdk被引入到项目2后,项目1的bin中会自动生成一个jar文件(这个jar文件最好不要直接导入)

对于SDK这一块我的理解还很浅,需要以后有时间再好好研究。如果大家有合适有效的方法,欢迎留言。如果有错误,欢迎指正。

参考:

/article/1387337.html

/article/1470653.html

/article/1978192.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐