插件框架篇一之jar插件加载方式

随着项目的不断扩大,遇到问题如下: 1、代码也将变得臃肿,而且每次应用更新都需要下载很大的应用包; 2、多项目之间模块重用; 3、项目管理复杂度增加; 4、每次修改模块bug都需要提交应用商店审核。 为了解决以上问题,接下来将分别研究jar插件(dex)和apk插件两种框架。 本文主要介绍jar插件的两种加载方式:静态加载和动态加载。 准备工作如下: 1、win7 64位环境下;
摘要由CSDN通过智能技术生成

随着项目的不断扩大,遇到问题如下:
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”;

  1. 选择Java/JAR file,Next;

  2. 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

  1. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next

  2. 下一个页面里可以对项目做一些配置

    • Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项;

    • Use existing m

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值