Android build.gradle - 如何覆盖现有的apk

时间:2015-07-28 20:36:05

标签: android-studio gradle build.gradle

用于输出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'

0 个答案:

没有答案