我有一个使用ant构建的android库项目。一切正常,但我有一些测试java文件,我不想包含在生成的jar文件中,有人知道如何制作吗?
谢谢!
答案 0 :(得分: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'
}
}
}
}
如上所示,您可以排除测试文件(位于项目测试目录中)和标准源文件。
修改强>
对于ant
,您可以使用类似的东西,称为fileset
,因此请指定应从构建中排除的文件。用户手册有一个很好的部分,描述了如何完成此任务:
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
答案 1 :(得分:0)
我终于在我的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文件