2015-01-09 3 views
0

У меня есть проект библиотеки андроидов, который создается с помощью ant. Все работает нормально, но у меня есть некоторые тестовые Java-файлы, которые я не хочу включать в сгенерированный файл jar, кто-нибудь знает, как это сделать?Исключить java-файлы при компиляции андроидной библиотеки с помощью ant

Спасибо!

ответ

0

Я наконец ¯Fi это добавив следующие строки в файле build.xml моего проекта для Android:

<target name="-post-compile"> 
    <jar destfile="bin/myLibrary.jar"> 
     <zipfileset src="bin/classes.jar" excludes="com/my/package** com/something/unittest/**"/> 
    </jar> 
</target> 

Это удалит un хотел файлы и обновить файл jar

1

Android Studio/Gradle позволяет указать классы для исключения из сборки; в Android Studio вы можете исключить классы, отредактировав файл build.gradle и добавив пользовательский номер SourceSet. Что-то вроде этого:

android 
{ 
    compileSdkVersion 20 
    buildToolsVersion "20.0.4" 

    defaultConfig 
    { 
     minSdkVersion 19 
     targetSdkVersion 19 
     packageName "org.google.home" 
     testPackageName "org.google.home.test" 
    } 
    sourceSets 
    { 
     main 
     { 
      java 
      { 
       exclude '**/ClassToExclude.java' 
      } 
     } 
     androidTest 
     { 
      java 
      { 
       exclude '**/TestforClassToExclude.java' 
      } 
     } 
    } 
} 

Как вы можете видеть выше, вы можете исключить оба тестовые файлы (находится в проецирование тестового каталога) и стандартные исходные файлы.

EDIT

Для ant вы можете использовать что-то похоже, известное как fileset так указать файлы, которые должны быть exluded из сборки. В руководстве пользователя есть отличный раздел, который описывает, как это сделать: https://ant.apache.org/manual/Types/fileset.html.

ant также обеспечивает <exclude> тег, который можно использовать, чтобы указать файлы для исключения:

<exclude name="**/dir_name_to_exclude/**" /> 

Существует также StackOverflow пост, который обсуждается аналогичный вопрос: How to exclude a directory from ant fileset, based on directories contents

+0

Я не могу использовать андроид-студию из-за NDK :(так что все настроено для муравья –

+0

Моя ошибка; Я отредактировал свой ответ ... – Willis

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