我尝试在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!")
}