Android Studio发布模式下的../release/下没有classes.jar

时间:2015-04-15 08:52:40

标签: android android-gradle build.gradle

我是Android Studio 1.1.0的新手。我想构建一个android库项目并输出JAR文件。我选择了Build Variants作为Release模式。

但是,在构建项目之后, build / intermediates / bundles / release / 路径下没有classes.jar文件。

文件/目录如下:

的AndroidManifest.xml
R.txt
AAPT /
AIDL /
资产/

但是当我将Build Variants设置为Debug模式时。

build / intermediates / bundles / debug 路径下有输出文件/目录列表:

的AndroidManifest.xml R.txt
AAPT
AIDL
资产
classes.jar
RES

有什么问题?怎么解决?

更新: 发布build.gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
//    compile 'com.android.support:appcompat-v7:22.0.0'
}

task releaseJar(type: Copy, dependsOn: 'build') {
    from('build/intermediates/bundles/release/')
    into('../releases')
    include('classes.jar')
    rename('classes.jar', 'test.jar')
}

2 个答案:

答案 0 :(得分:2)

要扩展你的内容,你可以在定义releaseJar后添加一行:

assemble.finalizedBy releaseJar

任务将在每次组装时运行。

答案 1 :(得分:1)

根据@ DanielA.González的提示,我使用命令

./gradlew releaseJar

releaseJar任务定义如下:

task releaseJar(type: Copy, dependsOn: 'build') {
    from('build/intermediates/bundles/release/')
    into('../releases')
    include('classes.jar')
    rename('classes.jar', 'testjar.jar')
}

感谢@DanielA.González的评论。