我用于动态更改构建名称,但它无法正常工作,所需的名称在日志上显示为打印语句,构建名称保持为同一apk-release.apk而不是上述新名称,如上所述。由于Gradle或Flutter版本而有可能出现错误。
buildTypes {
release {
signingConfig signingConfigs.debug
applicationVariants.all { variant ->
if (variant.buildType.name == "release") {
variant.outputs.all { output ->
def date = new Date().format("yyyyMMdd_HHmmss")
def newAppName = "MyApp_v${versionName}build${versionCode}${date}"
println("Changing APK name to : ${newAppName}")
output.outputFileName = "${newAppName}.apk"
}
}
}
signingConfig signingConfigs.release
buildConfigField 'boolean', 'UPDATE_ENABLED', 'true'
minifyEnabled true
shrinkResources true
//useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildTypes
中写了这篇文章
android {
// Change apk name
applicationVariants.all { variant ->
variant.outputs.all { output ->
def appName = "MYAPP"
def formattedDate = new Date().format('yyyyMMdd_HHmmss')
def newApkName = "${appName}_${formattedDate}.apk"
output.outputFileName = "../../flutter-apk/${newApkName}"
}
}
// Other tags
}
我不知道这会有效,但是对我有用的是我写这本书
flutter build apk --release
toby默认情况the将在同一位置上创建默认值app-release.apk
与此一起创建另一个APK。我正在使用
output.outputFileName = newApkName
它正在构建内部的apk
Flutter Projects\my_project\build\app\outputs\apk\release
与默认
app-release.apk
现在它在与
output.outputFileName = "../../flutter-apk/${newApkName}"
trora在内部添加以下内容
build\app\outputs\flutter-apk\app-release.apk
android{}
applicationVariants.all { variant ->
variant.outputs.all { output ->
def newName = "appname_${variant.versionName}.apk"
outputFileName = newName
}
}
为了将时间戳添加到名称使用
flutter build apk --release