build.gradle を構成したので、リリース ビルドを作成するたびに version.properties のバージョン コードが増加します。また、apk ファイル名にバージョン コードを使用します。ただし、Androidスタジオはバージョンの変更を無視しているように見えるため、IDEからデバッグビルドを実行し、コンソールを使用してリリースビルドをアセンブルし(バージョン番号が増加します)、IDEからデバッグを再度実行すると、バージョンが増加したapkが正しくビルドされますfilename BUT は古い apk をデバイスにアップロードします。
たとえば、バージョン コードを 377 にします。
- IDE からデバッグ ビルドを実行 -> ビルドとアップロード GradleTestApp-v1.5( 377 )-debug- unaligned.apk
- do gradle assambleRelease -> GradleTestApp-v1.5( 377 )-release-unsigned.apk をビルドし、versionCode を 378 に増やします
- IDE からデバッグ ビルドを再度実行 -> GradleTestApp-v1.5( 378 )-debug-unaligned.apk をビルドしますが (正しい動作)、古い GradleTestApp-v1.5( 377 )-debug- unaligned.apk をデバイスにアップロードします
私は何が欠けていますか?
ここに私のgradleスクリプトがあります:
ext{
versionPropFile = 'version.properties'
Properties versionProps = getVersionProps()
}
project.archivesBaseName=project.archivesBaseName+"-v"+versionProps['name'] + "(" + versionProps['code']+")"
def Properties getVersionProps(){
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file(versionPropFile)))
return versionProps
}
task('increaseVersionCode') << {
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(file(versionPropFile)))
int versionCode = versionProps['code'].toInteger()
versionProps['code'] = (versionCode+1)+""
versionProps.store(new FileOutputStream(file(versionPropFile)), "App version properties")
println 'increasing version code to ' + versionProps['code']
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
...
}
assembleRelease.dependsOn('increaseVersionCode')