“app-release.apk”如何更改这个默认生成的apk名称,允许之后安装?
Posted
技术标签:
【中文标题】“app-release.apk”如何更改这个默认生成的apk名称,允许之后安装?【英文标题】:“app-release.apk” how to change this default generated apk name that allows to install after? 【发布时间】:2020-01-03 10:57:56 【问题描述】:这个问题的答案都很糟糕,因为你不能通过生成的 apk 安装应用程序 " app-release.apk" how to change this default generated apk name
例如
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig getSigningConfig()
applicationVariants.all variant ->
variant.outputs.each output ->
def date = new Date();
def formattedDate = date.format('yyyyMMddHHmmss')
output.outputFile = new File(output.outputFile.parent,
output.outputFile.name.replace("-release", "-" + formattedDate)
//for Debug use output.outputFile = new File(output.outputFile.parent,
// output.outputFile.name.replace("-debug", "-" + formattedDate)
)
【问题讨论】:
请让您的问题更清楚。您想要当前或以前安装的应用程序或 apk 两者吗? 【参考方案1】:使用下面的代码并将其放在android
闭包之外:
android.applicationVariants.all variant ->
variant.outputs.each output ->
// Redirect your apks to new defined location to outputDirPath
def outputDirPath = new File("$project.rootDir.absolutePath/apks/$variant.flavorName/$variant.buildType.name")
variant.packageApplicationProvider.get().outputDirectory = outputDirPath
def apkFileName = "$rootProject.name_$android.defaultConfig.versionName.apk"
output.outputFileName = apkFileName // directly assign the new name back to outputFileName
您的最终 apk 名称将类似于 app_1.0.0.apk
,如果您想让名称更花哨,您可以根据您的要求修改以下行。
def apkFileName = "$rootProject.name_$android.defaultConfig.versionName.apk"
【讨论】:
很好的解决方案,不幸的是,由于缺少app\build\outputs\debug\app-debug.apk
中的app-debug.apk
文件,安装失败。你知道如何解决这个问题吗? app-release.apk
文件会有相同的行为。非常感谢!以上是关于“app-release.apk”如何更改这个默认生成的apk名称,允许之后安装?的主要内容,如果未能解决你的问题,请参考以下文章
app-release.apk 是 zipaligned apk 吗?
react-native android中的gradlew assembleRelease命令未生成app-release.apk