以前都是用eclipse打jar包,就算装了Android Studio,由于已经习惯了eclipse打包,一直没有去尝试用Android Studio打包,今天由于动态加载需要,而在新电脑上又没有eclipse,只好学习一下。
-
首先,我们先做一个Demo,创建一个工程,在工程下创建一个module,选择Android Library:
-
然后修改上图中蓝色圈中的部分,build.gradle,注意,是mylibrary下的build.gradle,不是工程下的build.gradle。
在该配置中增加下图中蓝色圈中的部分:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
刚才我们修改的是mylibrary下的build.gradle,接下来在工程的build.gradle里添加mylibrary依赖:
-
OK,在命令行中进入项目的目录下,执行 gradlew makeJar,如下图:
这里需要说明一点,有些人执行这个命令后,它会下载一些东西,耐心等等吧。。。。
-
命令执行成功后,即出现BUILD SUCCESSFUL,那么刚才我们在mylibrary下的build.gradle中修改的几行中的into(‘libs/’),就是我们生成的jar包存放的路径。生成结果看下图:
**有一点需要注意,根据我们修改的mylibrary下的build.gradle中的几行代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
由from和include两行我们可知,我们其实是将classes.jar内容重新打包(可以利用jd-gui这个工具看一下classes.jar和我们生成的mysdk.jar,内容是一样的,可以看一下下面两张图),比如我们在mylibrary下增加一个类Main,如果我们想要在生成的jar包中看到它,我们必须运行一下这个工程,要不然classes.jar中不会有Main这个类,那么我们生成的jar包中也不会有这个类。