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

Android 自定义类库打包jar! 谁说不可以打包res 文件?

2012-11-27 09:39 253 查看
由于之前收藏的方式不对,所以更新了一个折中的方式,我亲自测试过,没有问题

转自:/article/2355985.html

某些时候我们希望把代码打成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文件,简单些用于测试;

[html] view
plaincopy

<?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>

[html] view
plaincopy

<?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布局等资源可以删掉(如果有用到最后修改一下名字);

到现在为止,整个工作就完成了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐