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 应用程序级别
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
对于颤振错误, 默认情况下颤振会创建如下所示的构建类型
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。
解决方案
这应该可以解决问题。
我的 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 次 |
| 最近记录: |