您上传了以调试模式签名的APK.您需要在发布模式错误中签署APK

Nem*_*min 9 android jarsigner maven google-play

我正在尝试在Google Play商店上传应用程序.我正在构建.apk并使用Maven进行签名.我使用maven-jarsigner-plugin来签署.apk文件.我正在使用我使用Eclipse向导创建的密钥来签署另一个Android应用程序.我使用以下命令对.apk文件进行zipalign:zipalign [-f] [-v] infile.apk outfile.apk

当我尝试在playstore上上传应用程序时,我收到错误您上传了一个以调试模式签名的APK.您需要在发布模式下签署APK.任何人都可以告诉我如何在发布模式下签署apk?我是Maven的新手(今天开始使用它).谢谢

小智 60

更改为:signingConfigsigningConfigs.release

从signingConfigsigningConfigs.debug

在您的 build.gradle 应用程序级别

  • 对我不起作用,在运行“flutter build apk --release”时给出“无法获取 org.gradle.api.internal.FactoryNamedDomainObjectContainer 类型的 SigningConfig 容器的未知属性“release”。 (8认同)
  • 我在尝试部署 Flutter 应用程序时花了几个小时处理这个问题,这肯定需要更好地记录,文件中的简单 TODO 是不够的......谢谢! (4认同)

K.A*_*nov 25

去android/app/build.gradle

在文件末尾:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug <==== change this to release
    }
}
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.release
    }
}
Run Code Online (Sandbox Code Playgroud)


Pio*_*zan 11

我不知道您如何在 Maven 中执行此操作,但是您需要使用发布密钥库编译您的应用程序。您可以使用 来创建一个keytool,它在您的 Java bin 文件夹中可用:

$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)

创建它时,您必须提供两个密码,一个用于密钥库,一个用于密钥。创建密钥库后,您可以使用 Eclipse 导出向导在发布模式下编译您的应用程序。

有关更多详细信息,请参阅http://developer.android.com/tools/publishing/app-signing.html#releasemode


Ana*_*nan 7

对于颤振错误, 默认情况下颤振会创建如下所示的构建类型

  buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}
Run Code Online (Sandbox Code Playgroud)

你应该改变signingconfig行

        signingConfig signingConfigs.release
Run Code Online (Sandbox Code Playgroud)


小智 6

始终使用包含“发布”而不是“调试”的名称和别名创建您的密钥库。如果您遇到“您上传了在调试模式下签名的 APK。您需要在发布模式下签署您的 APK 错误”,则可以肯定您使用的是默认密钥库,即“debug.keystore”,因此在调试模式下生成了 apk。

解决方案

  1. 生成新的密钥库
  2. 在 build.gradle 文件中给出参考
  3. 将构建变体更改为“发布”
  4. 建造

这应该可以解决问题。


yen*_*dis 6

我的 flutter 应用程序也遇到了同样的问题,

将这些添加到您的 android/app/build. 摇篮:

在 android {compileSdkVersion 30 之前

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
Run Code Online (Sandbox Code Playgroud)

在defaultConfig {之后

}
signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

7498 次

最近记录:

11 年,1 月 前