2014-11-10 3 views
0

Я пытаюсь выяснить, как удалить файлы классов Java, которые мне нужны только для компиляции в Gradle. Другими словами, я хочу, чтобы определенный класс использовался только для этапа компиляции, но не включался в пакет jar. В этом случае я говорю о классе BuildConfig.java, который мне нужно удалить из моего проекта библиотеки, потому что у меня есть другой, определенный в моем проекте приложения с тем же пространством имен. Заранее спасибо!Gradle: Как удалить файлы классов после компиляции

+0

не будет градировать чистоту сделать работу? – chaitanya

+0

или вы можете расширить чистую задачу, чтобы удалить файл класса для BuildConfig.class – chaitanya

+0

Извините @chaitanya, я думаю, что я не был четко задан, поэтому я добавил некоторые разъяснения. Спасибо за быстрый ответ :) –

ответ

0

Нашли ответ. Это была моя реализация:

android.libraryVariants.all { variant -> 
    String taskName = String.format("remove%BuildConfig", variant.name.capitalize()) 
    task "${taskName}" << { 
     file("${buildDir}/intermediates/classes/${variant.name}/path/to/file/or/directory").delete() 
    } 
    variant.processJavaResources.dependsOn(taskName) 
} 

В принципе, я прошел через все варианты библиотеки и добавил задачу под названием «удалить {вариант} BuildConfig». И его задача, очевидно, удалить файл .class в каталоге $ {buildDir}/промежуточных/классов. Затем вы должны убедиться, что задача выполняется перед задачей processJavaResources, которая отвечает за копирование всех ресурсов Java после компиляции (так что вы должны убедиться, что вы удаляете файлы/каталоги до этого!)

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