由于之前收藏的方式不对,所以更新了一个折中的方式,我亲自测试过,没有问题
转自:http://blog.csdn.net/jeanthbian/article/details/7685765
某些时候我们希望把代码打成jar包导入到项目中,但在Android开发时,像资源文件却不能打成jar包导入项目中使用;那我们该怎么办呢?我们可以使用jar+library的方式来处理;下面说下具体的操作方法:
1、首先创建一个Android项目TestLib,当作我们要打jar包的测试项目,包名“com.test.lib”,设置项目为“Is Library”;
应该知道怎么设置的吧;项目右键-Properties-Android页面下部Library部分选中“Is Library”,点击ok就行了,很简单的,呵呵;
2、编写一个test_lib.xml layout文件,简单些用于测试;
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="测试LIB" />
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="测试LIB" />
- </LinearLayout>
3、修改TestLibActivity中默认代码setContentView(R.layout.main)为setContentView(R.layout.test_lib);(刚编写的layout文件肯定要用啊,呵呵);这样第一个要打成jar包的测试项目就创建完成了;
4、现在我们在创建一个用于整合的Android项目MyTestLib,包名同上面一样“com.test.lib”,同样设置为“Is Library”;这个项目可以把自动生成的src和res目录下面的东西删掉(因为没什么用);
5、把上面项目TestLib中的相关资源拷贝到MyTestLib项目下,主要是assets和res目录下的,然后再MyTestLib项目创建一个libs目录;
6、现在编译TestLib项目,会在项目的bin目录下生成一个testlib.jar包,拷贝到MyTestLib项目中的libs目录下,并编译MyTestLib项目;这样MyTestLib项目就完成了;
7、现在我们可以创建一个Test项目(也就是你的项目)用于测试刚才的jar+library了;将刚才的Library项目MyTestLib导入到Test项目,操作方法右键Test项目-Properties-Android页面下部Library地方,点击“Add”选中MyTestLib项目,ok就行了;
8、导入jar包,在Test项目中需要导入testlib.jar包,右键Test项目-Properties-Java Build Path,点击Add JARS选中MyTestLib项目libs目录下的testlib.jar,点击两次ok就行了;现在,我们就可以在Test项目中去调用TestLib项目中的代码了;可以写行代码调用TestLib项目中的TestLibActivity试试;
注意:TestLib和Test项目中的资源名一定不要相同,不然会有冲突的;像TestLib项目的默认生成的一些图片String布局等资源可以删掉(如果有用到最后修改一下名字);
到现在为止,整个工作就完成了