2014-12-19 2 views
1

Я хочу скопировать файлы до начала сборки, но задача градиента не запускается.Android Studio Gradle Build Copy Task

Мой раздел андроида в моем файле build.gradle:

android { 
compileSdkVersion 21 
buildToolsVersion "21.1.1" 

defaultConfig { 
    minSdkVersion 16 
    targetSdkVersion 21 
} 

//Copy app_values.xml 
task copy_app_values (type: Copy)<<{ 
    println 'Copy app_values' 
    copy_app_values.from pathtoValues+'app_values.xml' 
    copy_app_values.into projectDir+'/'+moduleName+'/src/main/res/values' 
} 

buildTypes { 
    release { 
     debuggable false 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
    } 
    debug { 
     debuggable true 
    } 
    hockeyapp { 
     debuggable true 
     println 'Build HockeyApp' 
     tasks.add(copy_app_values) 
    } 
} 
} 

Может кто-нибудь объяснить, как это работает. Я новичок в граде.

ответ

0

Не знаю, на ваш вопрос, что именно вы ищете. Либо вы просто хотите запустить эту задачу один раз, прежде чем град попытается создать сборку hockeyapp или непосредственно перед компиляцией. В любом случае, попробуйте следующее:

task copyDocs(type: Copy) { 
    from 'src/main/doc' 
    into 'build/target/doc' 
} 

tasks.withType(Compile) { 
    compileTask -> compileTask.dependsOn(copyDocs) 
} 

Поместите этот кусок кода в раздел Android и попробуйте запустить его. Надеюсь, поможет.

+0

Что делать, если я хочу вызвать 'apply from' из другого файла градиента? –