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

android引用类库工程的2种方法

2014-09-23 10:49 309 查看
1.android中library什么用

用eclipse开发的话,在工程右击-properties-Android最下面,有个Is library,选择后-apply确定,就是将此工程公开可以给别的工程使用,比如别的工程通过同样的步骤

,在Is library旁边有个add按钮,点击后就可以将刚才选择了Is library的工程添加进来。那么你就可以在gen文件夹下面看到出现了一个新的包名,新的R文件,就是你选择

Is library的包名以及R文件,你就可以通过使用那个共享工程的资源了。这个一般会使用在可以换肤的项目中或者是项目蛮大,有个工程专门用来存放资源,别的有4-5个工

程都可以使用此共享资源。

另外一种就相当于链接库了:

可以链接jar包文件,工程右击-properties-Java Build Path-Libraries-Add JARs/Add library可以导入jar包供程序使用。

也可以链接.so文件,这个需要用jni技术,安装cygwin,写C或者C++代码,编译成so文件,让java可以调用到,具体步骤可以网络上查找,不难。

2种方法

1. 把工程A做成纯Jar包,这样其他的工程就可以直接引用了。

直接拷贝到另一个项目中的lib中,就会生成android dependencies库中生成对应.jar包。

2.将工程A做成android library project。

设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后

Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内

容还需要在B中配置一下。比如A中有lib库引用,则B中也要加入该lib库;比如A中的AndroidManifest.xml文件的内容,在B的AndroidManifest.xml文件中也要相应加上。。。

例如:如果项目有引用生成R.java文件,这可以用右键->Properties->Android,将Is library项选,然后在bin目录中就会生成一个.jar包,然后拷贝到另一个项目中的lib中

,就会生成android dependencies中。

AndroidDependencies 安卓相关性

在ADT16之前可以在工程里面做关联,eclipse会在工程上自动添加ReferenceLibrary。新版本的ADT修改了第三方jar的导入方式,只需要在工程目录下新建libs文件夹,注意

是libs不是lib,然后将第三方的jar复制进去,eclipse会自动将这个jar添加到AndroidDependencies文件夹下,不必在通过BuildPath自己去修改了,也不需要

ReferenceLibrary了。

另外,如果多个工程有关联的话,比如A工程设置为IsLibaray,B工程要引入A工程的时候,也会自动将A工程编译生成的jar放到AndroidDependencies文

件夹下。

有些时候我们在安装了新版本ADT的eclipse中导入低版本ADT开发的android项目的时候,不会生成AndroidDependencies,怎么解决呢?

解决方法如下:

1、如果以前的jar都在lib目录下,那么可以先把lib目录下的jar文件先拷贝出来,然后删除lib目录,新建一个libs目录,然后把jar文件拷贝到libs目录下即

可。不需要再addtobuildpath,系统会自动将libs下的jar包添加到buildpath(实际上是添加到AndroidDependencies这个library下)。2、如果不小心将

AndroidDependencies这个library删除了,可以重复删除libs目录然后新建libs目录几次,并把jar文件拷贝到libs目录下,这时候系统又会自动添加进来了。3、如果1、2不

生效,可以尝试重启一下eclipse,这时候就生效了。

Android中的jar包 与 library 区别

library是类库,就是一堆.jar文件的集合.一般情况下都是若干个.class文件能实现一组功能,这时候便可以把这些.class文件打包成.jar文件.比如说当需要使用集合类的时候

,咱们需要import java.uitl.*; 对应的就是一个jar包(.jar文件)它里面就是一堆.class文件.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: