用Android Studio打Jar包
来源:互联网 发布:apache2 php 编辑:程序博客网 时间:2024/05/21 06:32
前言:以前都是用eclipse打jar包,就算装了Android Studio,由于已经习惯了eclipse打包,一直没有去尝试用Android Studio打包,今天由于动态加载需要,而在新电脑上又没有eclipse,只好学习一下。
首先,我们先做一个Demo,创建一个工程,在工程下创建一个module,选择Android Library:
我命名为mylibrary,创建好工程目录如下:
然后修改上图中蓝色圈中的部分,build.gradle,注意,是mylibrary下的build.gradle,不是工程下的build.gradle。
在该配置中增加下图中蓝色圈中的部分:
task makeJar(type: Copy) { //这行表示如果你已经打过一次包了,再进行打包则把原来的包删掉 delete 'libs/mysdk.jar' //这行表示要打包的文件的路径,根据下面的内容,其实是该路径下的classes.jar from('build/intermediates/bundles/release/') //这行表示打包完毕后包的生成路径,也就是生成的包存在哪 into('libs/') //看到这行,如果你对分包有了解的话,你就可以看出来这行它只是将一些类打包了 include('classes.jar') rename ('classes.jar', 'mysdk.jar')}makeJar.dependsOn(build)
刚才我们修改的是mylibrary下的build.gradle,接下来在工程的build.gradle里添加mylibrary依赖:
OK,在命令行中进入项目的目录下,执行 gradlew makeJar,如下图:
这里需要说明一点,有些人执行这个命令后,它会下载一些东西,耐心等等吧。。。。
命令执行成功后,即出现BUILD SUCCESSFUL,那么刚才我们在mylibrary下的build.gradle中修改的几行中的into(‘libs/’),就是我们生成的jar包存放的路径。生成结果看下图:
**有一点需要注意,根据我们修改的mylibrary下的build.gradle中的几行代码
task makeJar(type: Copy) { delete 'libs/mysdk.jar' from('build/intermediates/bundles/release/') into('libs/') include('classes.jar') rename ('classes.jar', 'mysdk.jar')}makeJar.dependsOn(build)
由from和include两行我们可知,我们其实是将classes.jar内容重新打包(可以利用jd-gui这个工具看一下classes.jar和我们生成的mysdk.jar,内容是一样的,可以看一下下面两张图),比如我们在mylibrary下增加一个类Main,如果我们想要在生成的jar包中看到它,我们必须运行一下这个工程,要不然classes.jar中不会有Main这个类,那么我们生成的jar包中也不会有这个类。
- 用Android Studio打Jar包
- 用Android Studio打Jar包
- Android studio 打jar包
- Android studio 打jar包
- Android Studio 打jar包
- Android Studio 打JAR包
- Android Studio 打JAR包
- android studio 打jar包
- Android Studio 打JAR包
- Android studio打jar包
- Android Studio 打jar包
- Android Studio打JAR包
- Android studio打jar包
- android studio:打jar包、apk包
- Android Studio 如何打JAR包
- Android Studio中如何打JAR包
- Android studio 如何打jar包
- Android Studio 如何打JAR包
- Spark学习之WordCount
- 交叉字符串(medium)
- 阿里___Java对象的序列化
- 深入Java核心 Java内存分配原理精讲
- ccnu_2016_summer_week1(3)
- 用Android Studio打Jar包
- Linux系统下安装rz/sz命令及使用说明
- redhat压缩,解压,打包
- Html-颜色表
- JD-GUI在Ubuntu 14.04 64位系统依赖包失败的问题
- ios queue及GCD理解的文章
- 数字证书
- 【HDU 1208】Pascal's Travels(动态规划DP)
- 图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现