问题描述:
使用Android Studio打jar包的时候,会报classes.jar不存在的异常,详细错误日志如下:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:makeJar'.
> Cannot expand ZIP 'D:\work\code\AppTrack\app\build\intermediates\bundles\release\classes.jar' as it does not exist.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
解决方法:
这是由于ANDROID STUDIO的版本的问题,CLASSES.JAR的位置发生了改变
所以,将原先的\intermediates\bundles\release\ 改为\intermediates\packaged-classes\release\就行了
build.gradle的配置
-
Android Studio3.1.2之前的配置:
def SDK_BASENAME = "myJar"
def SDK_VERSION = "_V1.0"
def sdkDestinationPath = "build"
def zipFile = file('build/intermediates/bundles/release/classes.jar')
task makeJar(type: Jar) {
delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
from zipTree(zipFile)
from(project.zipTree("libs/litepal.jar"))
from fileTree(dir: 'src/main',includes: ['assets/**'])//将assets目录打入jar包
baseName = SDK_BASENAME + SDK_VERSION
destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)
-
Android Studio3.1.2之后的配置:
def SDK_BASENAME = "myJar"
def SDK_VERSION = "_V1.0"
def sdkDestinationPath = "build"
def zipFile = file('build/intermediates/packaged-classes/release/classes.jar')
task makeJar(type: Jar) {
delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
from zipTree(zipFile)
from(project.zipTree("libs/litepal.jar"))
from fileTree(dir: 'src/main',includes: ['assets/**'])//将assets目录打入jar包
baseName = SDK_BASENAME + SDK_VERSION
destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)