我想更新我的应用更改版本和名称的值,我没有找到任何内容,关于以编程方式更改版本
答案 0 :(得分:1)
对于 Android,您可以轻松地增加 versionCode 和 versionName
将此添加到您的 gradle 脚本中,并创建一个文件 version.properties,其中 VERSION_CODE=555
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
def versionPropsFile = file('version.properties')
if (versionPropsFile.canRead()) {
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(versionPropsFile))
def code = versionProps['VERSION_CODE'].toInteger() + 1
versionProps['VERSION_CODE'] = code.toString()
versionProps.store(versionPropsFile.newWriter(), null)
defaultConfig {
applicationId "app.umanusorn.playground"
minSdkVersion 29
targetSdkVersion 30
versionCode code
versionName code.toString()
答案 1 :(得分:0)
版本名称&您必须在Manifest Itself中提及的版本代码,因此您可以手动更改并提供更新但不能更改programatically
答案 2 :(得分:0)
你不能这样做而不是在manifest.xml中进行
答案 3 :(得分:0)
我设法做到了。
version = sys.argv[1]
gradle_file = './path/to/your/build.gradle'
with open(gradle_file, 'r+') as file:
offset = 0
previous_line_length = 0
for line in file:
if "versionName" in line:
previous_line_length = len(line)
break
offset += len(line)
new_line = ' versionName "'+version+'"'
# add spaces at the end if new line is shorter than previous
diff = previous_line_length - len(new_line) - 1 # minus 1 for the carriage return char
length_diff = diff if diff >= 0 else 0
for i in range(length_diff):
new_line += ' '
new_line += '\n'
file.seek(offset)
file.write(new_line)
这是一个python脚本,您可以使用新版本字符串调用它,例如:
python script.py 1.2.3
您需要在build.gradle文件的versionName行末尾添加安全空间,否则较长的版本名称会使文件陷入混乱。
希望有所帮助。