如何让Android Studio gradle执行预构建步骤

时间:2015-10-09 23:13:25

标签: android android-studio gradle

我想将一堆矢量图像缩放成一系列适合不同分辨率的合理PNG图像,但由于某些原因,Gradle找不到我正在添加的任务。它没有打印任何错误消息,并说构建成功,但它也没有运行任务。我的gradle文件(app dir中的那个,而不是上面目录中的另一个奇怪的文件 - 不知道为什么我需要这么多的gradle文件但是没关系)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    task compileAssets(type: Exec, description: 'Compile Assets') {
        commandLine 'inkscape.exe', '-z -e app\\src\\main\\assets\\bkgd_1080_1920.png -w 1080 -h 1920 ..\\AssetsSrc\\Layout_16_9.svg'    
    }

    preBuild.dependsOn compileAssets

    defaultConfig {
        applicationId "com.nocompany.hr"
        minSdkVersion 15
        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.2.1'
    compile 'com.google.code.gson:gson:2.3.1'
}

1 个答案:

答案 0 :(得分:2)

我正在使用AndroidStudio 1.5.1 / Gradle 2.8。

我需要在构建之前执行代码,这对我有用:

android {

    ... 

    preBuild << {
        // PUT CODE HERE
    }
}