随着项目的不断扩大,遇到问题如下:
1、代码也将变得臃肿,而且每次应用更新都需要下载很大的应用包;
2、多项目之间模块重用;
3、项目管理复杂度增加;
4、每次修改模块bug都需要提交应用商店审核。
为了解决以上问题,接下来将分别研究jar插件(dex)和apk插件两种框架。
本文主要介绍jar插件的两种加载方式:静态加载和动态加载。
准备工作如下:
1、win7 64位环境下;
1、测试代码如下:
package com.demo.jar;
public class AddFunc{
public AddFunc(){}
public int Add(int a, int b){
int c = a + b;
return c;
}
}
2、将D:\work\sdk\build-tools\19.1.0添加到环境变量中,方便使用dx命令。
一、静态jar插件加载
(1)生成静态插件:
如果是简单的java类文件,可以通过命令来编译生成jar插件库:
D:>javac com/demo/jar/AddFunc.java //编译生成AddFunc.class
D:>jar cvf AddFunc.jar com/demo/jar/AddFunc.class //压缩生成jar文件
标明清单(manifest)
增加:com/demo/jar/AddFunc.class(读入= 267) (写出= 213)(压缩了 20%)
D:>jar tvf AddFunc.jar //查看生成的jar文件里有哪些内容
0 Fri Sep 05 10:22:36 CST 2014 META-INF/
71 Fri Sep 05 10:22:38 CST 2014 META-INF/MANIFEST.MF
267 Fri Sep 05 10:20:44 CST 2014 com/demo/jar/AddFunc.class
如果是工程代码的话,可以通过Eclipse导出为jar库,步骤如下:
1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
选择Java/JAR file,Next;
Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;
这里有几个选项:
* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径,Next
下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next
下一个页面里可以对项目做一些配置
Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项;
Use existing m