在android studio下打包有两种方法:
方法1:在要打包的项目的build.gradle下添加
```
build.doLast{
copy{
from( 'build/intermediates/bundles/release')
into( 'mylib/libs') //jar包放置位置,可自定义
include('classes.jar')
rename('classes.jar', 'mylib.jar') //mylib即jar包名,可自定义
}
}
```
然后在项目目录运行gradle build,即可在../mylib/libs下找到mylib.jar
方法二:在要打包的项目的build.gradle下添加
task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
//指定生成的jar名
baseName'mylib' //包名,可修改
//从哪里打包class文件
from('build/intermediates/bundles/release')
//打包到jar后的目录结构
into('build/libs') //路径,可修改
//去掉不需要打包的目录和文件
exclude('BuildConfig.class','R.class')
//去掉R$开头的文件
exclude{ it.name.startsWith('R$');}
}
makeJar.dependsOn(build)
然后在项目目录运行gradle makeJar,即可在../build/libs下找到mylib.jar
这两种方法都经过实测可以打包!
记录一下打包路上遇到的坑以及解决办法:
1.gradle不是内部或外部命令
需要配置gradle环境变量,进入电脑环境变量配置,添加新变量GRADLE_HOME,然后添加自己所用的gradle的路径,如果是在studio下载时候带的,就在studio目录下,自己下载的自己选择目录,然后在path中添加%GRADLE_HOME%\BIN;(这里很重要,我之前试了很多次小写的bin,都无效,后来改成大写就成功了)
配置完成之后在cmd中输入gradle -v查看gradle版本,能显示出来则配置OK
2.minimum gradle version is 3.3,current is 3.2/2.1等版本
gradle版本配置不对,需要修改project下build.gradle中
dependencies {
classpath'com.android.tools.build:gradle:2.2.3'
}
然后修改gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
这样就可以完成正常打包了,
gradle2.2.3对应的应该是gradle-2.14.1-all.zip
gradle 2.3.3对应的应该是gradle-3.3-all.zip
提示minimum gradle就可以降低运行需要的gradle版本来解决问题!
3.待定