请问 android library 项目怎么打成jar包啊?

oldfeel 发布于 2013/07/23 18:12
阅读 8K+
收藏 0

  如果没有用到第三方jar包,是 library 的 android 项目 a 可以直接使用 bin 目录下的 a.jar 包,但是如果引用了第三方的 jar 包 b.jar 的 library 项目怎么打成 jar 包?

  现在遇到的情况是分别 add library 项目 a 和项目 b,可以运行。但是如果是把 a.jar 和 b.jar 放入 libs 文件夹下,就会报 classnotdef 异常。

加载中
0
郝炯淞
郝炯淞

1、现在我们在创建一个用于整合的Android项目MyTestLib,包名同上面一样“com.test.lib”,同样设置为“Is Library”;这个项目可以把自动生成的src和res目录下面的东西删掉(因为没什么用);

2、把上面项目TestLib中的相关资源拷贝到MyTestLib项目下,主要是assets和res目录下的,然后再MyTestLib项目创建一个libs目录;

3、现在编译TestLib项目,会在项目的bin目录下生成一个testlib.jar包,拷贝到MyTestLib项目中的libs目录下(不添加也可以),并编译MyTestLib项目;这样MyTestLib项目就完成了;

4、现在我们可以创建一个Test项目(也就是你的项目)用于测试刚才的jar+library了;将刚才的Library项目MyTestLib导入到Test项目,操作方法右键Test项目-Properties-Android页面下部Library地方,点击“Add”选中MyTestLib项目,ok就行了;

5、导入jar包,在Test项目中需要导入testlib.jar包,右键Test项目-Properties-Java Build Path,点击Add JARS选中MyTestLib项目libs目录下的testlib.jar,点击两次ok就行了;现在,我们就可以在Test项目中去调用TestLib项目中的代码了;可以写行代码调用TestLib项目中的TestLibActivity试试;

注意:TestLib和Test项目中的资源名一定不要相同,不然会有冲突的;像TestLib项目的默认生成的一些图片String布局等资源可以删掉(如果有用到最后修改一下名字)

注:虽然是引用别人的,但是是自己亲自尝试,可以的。

oldfeel
oldfeel
回复 @郝炯淞 : 使用 jar 的时候就是这样使用的啊.还是无效.
郝炯淞
郝炯淞
回复 @oldfeel : library中导入jar是没用的,要在你引用这个library中的普通project在libs中add这个jar包
oldfeel
oldfeel
我尝试的是 support v7 那个 library, 直接导入 jar 是无法使用的...
0
睡懒觉的猪
睡懒觉的猪

看来看去就这样几篇,都是抄来抄去,而且不完整,有意思吗?真不知道这个世界到底怎么了。

oldfeel
oldfeel
android 的 library 一般都包含有资源文件,像style,layout,dhpi...但是打的jar包里无法包含这些内容.所以只能以library的形式导入,无法像普通jar包那样使用.
返回顶部
顶部