gpt4 book ai didi

cordova - apk 名称更改不起作用 cordova

转载 作者:行者123 更新时间:2023-12-02 12:12:25 26 4
gpt4 key购买 nike

我做了一些更改以获得不同的名称,而不是构建后自动生成的 android-debug.apk 。但我所做的改变似乎不起作用。这是我创建 Android 平台后生成的 build.gradle 文件。请检查并告诉我为什么它不起作用。我在命令提示符下运行所有​​这些,而不是在 android studio/eclipse 中。

    if (cdvReleaseSigningPropertiesFile) {
signingConfigs {
release {
// These must be set or Gradle will complain (even if they are overridden).
keyAlias = ""
keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph.
storeFile = null
storePassword = "__unset"
}
}


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)
)
}
}
}
}
addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release)
}
if (cdvDebugSigningPropertiesFile) {
addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug)
}
}

在我对 buildType 进行更改之前,它是这样的。

buildTypes {
release {
signingConfig signingConfigs.release
}
}

最佳答案

我今天找到了答案。看起来效果正如我预期的那样好。我所做的更改将在下面分享:

1) 我必须从 build.gradle 文件中省略或删除此特定 session

if (cdvReleaseSigningPropertiesFile) {
signingConfigs {
release {
// These must be set or Gradle will complain (even if they are overridden).
keyAlias = ""
keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph.
storeFile = null
storePassword = "__unset"
}
}
addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release)

2)buildTypes中进行任何您想要的更改,就像在调试或发布方法中一样。在这里我对两者进行了更改并得到了我期望的答案。这是我的buildTypes

buildTypes  {
debug(or release){
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
project.ext { appName = 'YourName' }
def newName = output.outputFile.name.replace("android", "$project.ext.appName-")

output.outputFile = new File(output.outputFile.parent, newName)
}
}

}

}

这将输出为 YourName-debug.apk 或 YourName-release-unsigned.apk

3) 要完全更改名称,您必须将以下行替换为另一行。

project.ext { appName = 'YourName' }
def newName = output.outputFile.name.replace("android", "$project.ext.appName-")
替换为

def newName = output.outputFile.name.replace("android-release-unsigned", "$project.ext.appName-"+"你想要的任何名称") 或者用于调试

def newName = output.outputFile.name.replace("android-debug", "$project.ext.appName-"+"你想要的任何名称")

注意-1:通过更改整个名称,我遇到的问题是无法在构建以下 apk 行中获取生成的 apk/位置: 。此行将为空,但将生成您的 apk,并且文件位置与我的相同(platforms/android/build/outputs/apk/YourName-whatevernameyouwanted.apk)。

NOTE-2:我使用命令提示符来构建这些东西。对 build.gradle 文件进行更改后,您只需保存它,这将反射(reflect)在您的命令提示符中。它不像 android studio/eclipse 那样,当您编辑 build.gradle 文件时,您必须再次重新同步该文件。

关于cordova - apk 名称更改不起作用 cordova,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com