用于输出apks的构建文件默认配置如下所示:
defaultConfig {
applicationId "org.myapp.cool"
minSdkVersion 16
targetSdkVersion 21
versionCode project.ext.versionSum
def time = Integer.parseInt(new Date().format('MMddHHmm'))
applicationVariants.all { variant ->
variant.outputs.each { output ->
def file = output.outputFile
def fileName = file.name.replaceAll("^.*(?=(\\.apk))", "myandroidapp-" + time)
output.outputFile = new File(file.parent, fileName)
}
}
}
我的问题是我使用时间戳(一项要求)作为文件名的一部分。现在如果我第一次运行应用程序它的罚款和apk文件被创建。但是,如果我在一分钟内再次运行构建,那么它说输出目录无法找到,我认为它是因为它没有在同一分钟写出已存在的那个。
如果我等待几分钟,那么一切都很好,所以在同一分钟运行构建时会出现文件名问题。我怎么能告诉groovy覆盖文件?
更新:似乎文件确实被覆盖但我一直收到此错误:
本地路径不存在
然后它说它不会构建apk,因为它没有变化。我搜索了Stackoverflow,但解决方案我不确定帮助我解决问题。 I'm using gradle distribution 2.4 and my classpath is: classpath 'com.android.tools.build:gradle:1.2.3'