使用 ant 编译 android 库时排除 java 文件
Exclude java files when compiling an android library using ant
我有一个 android 库项目,它是使用 ant 构建的。一切正常,但我有一些测试 java 文件,我不想将它们包含在生成的 jar 文件中,有人知道如何制作吗?
谢谢!
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'
}
}
}
}
正如您在上面看到的,您可以排除测试文件(位于您的项目测试目录中)和标准源文件。
编辑
对于 ant
你可以使用类似的东西,称为 fileset
所以指定应该从构建中排除的文件。用户手册有一个很好的部分描述了如何实现这一点:
https://ant.apache.org/manual/Types/fileset.html。
ant
还提供了一个 <exclude>
标签,您可以使用它来指定要排除的文件:
<exclude name="**/dir_name_to_exclude/**" />
还有一个 Whosebug post 讨论了类似的问题:How to exclude a directory from ant fileset, based on directories contents
我终于在我的 android 项目的 build.xml 中添加了以下行:
<target name="-post-compile">
<jar destfile="bin/myLibrary.jar">
<zipfileset src="bin/classes.jar" excludes="com/my/package** com/something/unittest/**"/>
</jar>
</target>
这将删除不需要的文件并更新 jar 文件
我有一个 android 库项目,它是使用 ant 构建的。一切正常,但我有一些测试 java 文件,我不想将它们包含在生成的 jar 文件中,有人知道如何制作吗?
谢谢!
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'
}
}
}
}
正如您在上面看到的,您可以排除测试文件(位于您的项目测试目录中)和标准源文件。
编辑
对于 ant
你可以使用类似的东西,称为 fileset
所以指定应该从构建中排除的文件。用户手册有一个很好的部分描述了如何实现这一点:
https://ant.apache.org/manual/Types/fileset.html。
ant
还提供了一个 <exclude>
标签,您可以使用它来指定要排除的文件:
<exclude name="**/dir_name_to_exclude/**" />
还有一个 Whosebug post 讨论了类似的问题:How to exclude a directory from ant fileset, based on directories contents
我终于在我的 android 项目的 build.xml 中添加了以下行:
<target name="-post-compile">
<jar destfile="bin/myLibrary.jar">
<zipfileset src="bin/classes.jar" excludes="com/my/package** com/something/unittest/**"/>
</jar>
</target>
这将删除不需要的文件并更新 jar 文件