2013-10-06 2 views
6

Я создал файл gradle.build, который компилирует проект Android. Он создает правильные APK, и в качестве этапа пост-сборки я хочу скопировать их в другую папку с более значимым именем.Задача пропуска Gradle X, поскольку у нее нет исходных файлов

Я написал эту задачу для достижения этой цели:

task copyBundle(type: Copy) { 
    def versionCode = android.defaultConfig.versionCode 
    def buildDate = new Date().format("yyyy-MM-dd'T'HH-mm") 

    def outputFile = 'HexPath-android-release-' + buildDate + '-' + versionCode + '.apk' 

    println "Copying file to " + outputFile 

    from('HexPath-android/build/apk/') 
    into('output/android/') 
    include('HexPath-android-release.apk') 
    rename ('HexPath-android-release.apk', outputFile) 
} 

Проблема, которую я имею, что он пропускает эту задачу, говоря «Пропуск задачи„: HexPath-андроида: copyBundle“, поскольку это не имеет исходных файлов.

Любые идеи о том, что я делаю неправильно?

из папки правильно и имеет несколько .apks. включаемой имя файла правильно. папка вывода не существует, когда сценарий RAN. Переименование является допустимым именем файла.

+0

Не является ли 'HexPath-android' папкой, содержащей скрипт сборки с этой задачей копирования? Кроме того, задача, похоже, не связана с зависимостью задачи от задачи, которая создает apk. –

+0

Да, спасибо, что указали это. Похоже, что это был случай использования неправильных путей в функции from. – Demonofloom

ответ

0

Вы сказали, что в папке есть несколько файлов APK, но здесь вы включаете только один возможный файл, который нужно называть точно «HexPath-android-release.apk». У вас есть этот файл?

Если вы хотите именно этот один файл, скопированного каждый раз, то я предложил бы переписывание конца что-то вроде этого:

from('HexPath-android/build/apk/HexPath-android-release.apk') { 
    rename { outpuFile } 
} 
into('output/android/') 

Но если вы хотите использовать несколько файлов копируются, а затем пересмотреть свой «включить» сегмент иметь некоторые подстановочные знаки и сделать закрытие для создания своих выходных имен. Надеюсь это поможет.

Кроме того, это не HexPath-андроид сам проект. Разве путь не должен начинаться только с 'build ...'?

Смежные вопросы