Gradle自动增量并重命名APK I / O错误

时间:2015-05-06 16:10:58

标签: android android-studio build.gradle

我尝试在Android Studio中为内部版本号进行自动增量。遵循这个link,它很有效。

现在我想使用versionName重命名apk。我也成功地做到了,正如我在app \ build \ outputs \ apk目录中看到的那样,该文件就在那里。

问题生成的apk和您在Android Studio中看到"本地路径"没有相同的文件名。

生成的apk的名称:MyAppsName-v1.0-64-debug.apk

"本地路径"它正在寻找:.. \ app \ build \ outputs \ apk \ MyAppsName-v1.0-60-debug.apk

因此,看到错误说"本地路径不存在是有道理的。"因为" MyAppsName-v1.0-60-debug.apk"不存在。

这是我build.gradle的片段:

 def versionPropsFile = file('version.properties')

if (versionPropsFile.canRead()) {
    def Properties versionProps = new Properties()

    versionProps.load(new FileInputStream(versionPropsFile))
    def value = 0
    def runTasks = gradle.startParameter.taskNames
    if ('assemble' in runTasks || 'assembleRelease' in runTasks || 'aR' in runTasks) {
        value = 1;
    }

    def versionMajor = 1
    def versionMinor = 0
    def versionBuild = versionProps['VERSION_BUILD'].toInteger() + 1
    def version_Code = versionProps['VERSION_CODE'].toInteger() + value

    versionProps['VERSION_BUILD'] = versionBuild.toString()
    versionProps['VERSION_CODE'] = version_Code.toString()

    versionProps.store(versionPropsFile.newWriter(), null)

    defaultConfig {
        versionCode version_Code
        versionName "v${versionMajor}.${versionMinor}-${versionBuild}"
        minSdkVersion 15
        targetSdkVersion 21
    }


    archivesBaseName = "MyAppsName" + "-" + defaultConfig.versionName;
} else {
    throw new GradleException("Could not read version.properties!")
}

0 个答案:

没有答案