每次运行我的应用程序时,versionName在Manifest文件中递增。 20389 表示旧版本名称,20390是递增编号。
项目已成功构建,如 BUILD SUCCESSFUL 。但问题是为什么Android studio会缓存以前的apk版本。这是错误:
目标设备:lge-nexus_5-061642fd00511249 正在上传文件 本地路径:H:\ customFolder \ app \ build \ outputs \ apk \ MyAppName-0.6.200_20383-debug.apk 远程路径:/data/local/tmp/com.example.app 本地路径不存在。
当你在设备上运行应用程序时注意到,android studio尝试安装 20383 版本的apk。这是错误的。谁能帮助我?我已经googeled并看到了link。
以下是我可以使用gradle脚本更改清单文件的方法:
def updateRevisionNumber () {//autoIncrement Version Name
def currentVersion = getVersionName();
def currentRevisionInManifest = currentVersion.substring(currentVersion.indexOf("_")+1);
def lastRevision = Integer.parseInt(currentRevisionInManifest) + 1;
println("currentRevisionInManifest: " + currentRevisionInManifest);
println("lastRevision: " + lastRevision);
def oldText = manifestFile.getText();
def changedText = oldText.replace(currentRevisionInManifest,lastRevision+"");
manifestFile.setText(changedText);}
答案 0 :(得分:3)
您可以在清单的android部分覆盖版本名称,而不是在构建期间编辑清单文件:
android {
...
defaultConfig {
versionName someScriptToComputeVersionName()
...
至少有两个很好的理由这样做:
现在你的问题是正确定义函数someScriptToComputeVersionName()
,这取决于你。
IMO,简单地增加一个数字可能不是最好的选择,如果您根据VCS版本号构建版本名称,您应该寻求解决方案。