Android 上载可调试的颤振应用程序时出现Google Play错误

Android 上载可调试的颤振应用程序时出现Google Play错误,android,flutter,google-play-console,Android,Flutter,Google Play Console,我已经使用GooglePlayAppSigning、Flatter和VS代码一段时间了,但从昨天开始,我正在处理的每个Flatter项目的每个发布版本都会不断出现错误,并报告我正在尝试上传调试版本 “您上载的APK或Android应用程序捆绑包已在调试模式下签名。您需要在发布模式下对APK或Android应用程序捆绑包进行签名” 即使是一个新的应用程序也有同样的问题 我已经清理了build文件夹,使用了--release标志,这两个选项都不起作用 我想尝试的一件事是手动编译应用程序,手动签名然后

我已经使用GooglePlayAppSigning、Flatter和VS代码一段时间了,但从昨天开始,我正在处理的每个Flatter项目的每个发布版本都会不断出现错误,并报告我正在尝试上传调试版本

“您上载的APK或Android应用程序捆绑包已在调试模式下签名。您需要在发布模式下对APK或Android应用程序捆绑包进行签名”

即使是一个新的应用程序也有同样的问题

我已经清理了build文件夹,使用了--release标志,这两个选项都不起作用

我想尝试的一件事是手动编译应用程序,手动签名然后上传,但不知道如何做到这一点

有什么建议吗?把头发撕下来,因为我想不出最近有什么变化会影响这一点

颤振医生输出-唯一有点奇怪的是VS代码颤振扩展缺失-不是:-/

✓] 颤振(通道测试版,v0.5.1,在Mac OS X 10.13.6 17G65上,语言环境为en GB) •颤振版本0.5.1 at/Users/kenwen/Dev Tools/颤振 •框架修订版c7ea3ca377(10周前),2018-05-29 21:07:33+0200 •发动机版本1ed25ca7b7 •Dart版本2.0.0-dev.58.0.颤振-f981f09760

[✓] Android工具链-为Android设备开发(Android SDK 28.0.1) •Android SDK位于/Users/kenwen/Library/Android/SDK •未配置Android NDK位置(可选;用于本机评测支持) •平台android-28,构建工具28.0.1 •Java二进制地址:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/Java •Java版本OpenJDK运行时环境(build 1.8.0_152-release-1024-b01) •接受所有Android许可证

[✓] iOS工具链-为iOS设备开发(Xcode 9.4.1) •Xcode at/Applications/Xcode.app/Contents/Developer •Xcode 9.4.1,构建版本9F2000 •ios部署1.9.2 •CocoaPods版本1.5.2

[✓] Android Studio(3.1版) •Android Studio位于/Applications/Android Studio.app/Contents •颤振插件版本27.0.1 •Dart插件版本173.4700 •Java版本OpenJDK运行时环境(build 1.8.0_152-release-1024-b01)

[!]VS代码(版本1.25.1) •VS代码at/Applications/visualstudio Code.app/Contents •未安装颤振扩展;从

[!]连接的设备 !没有可用的设备

!医生发现了两类问题

格雷德尔先生

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location 
with flutter.sdk in the local.properties file.")
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 27

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID 
(https://developer.android.com/studio/build/application-id.html).
        applicationId "uk.co.kenliu.meanfitfoxes"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 21
        versionName "1.7.9"
        testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
    }

    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
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }

apply plugin: 'com.google.gms.google-services'

您必须为发布模式创建签名配置,在当前文件中,您正在使用调试中的签名配置

 buildTypes {
    release {
        signingConfig signingConfigs.debug   //for this reason google doesn't allow you to upload the apk
    }
}
在gradle文件中创建签名配置:

        android {
            ...
            signingConfigs {
                release {
                    storeFile file("release.keystore")
                    storePassword "******"
                    keyAlias "******"
                    keyPassword "******"
                }
            }
            buildTypes {
                release {
                    signingConfig signingConfigs.release
                }
            }
        }

您必须生成上载密钥和密钥库

在菜单栏中,单击生成生成签名包/APK

在生成签名捆绑包或APK对话框中,选择Android应用捆绑包APK,然后单击下一步

在密钥存储路径字段下方,单击新建

填写必填字段:路径、密码、密钥、密码、有效期、证书详细信息(名称、组织单位等)

单击“确定”

要构建,请转到菜单>构建生成签名包/APK

选择释放模式,不要忘记检查V1和V2


以上信息取自您还需要更改

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
    }
}


在android/app/build.gradle中的文件android/app/build.gradle

中,将
signingConfig signingConfigs.debug
更改为
signingConfig signingConfigs.release
,您可以在
buildTypes

下找到该问题被标记为红色。您已经复制了第一部分,该部分被签名为Configs。但是没有我没有将“调试”改为“发布”。美国宇航局透露,当你非常匆忙,无法在文档中看到一些细节,需要尽快构建和发布项目时,就会发生这种情况。我就是这样

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location 
with flutter.sdk in the local.properties file.")
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 27

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID 
(https://developer.android.com/studio/build/application-id.html).
        applicationId "uk.co.kenliu.meanfitfoxes"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 21
        versionName "1.7.9"
        testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
    }

    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
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }

apply plugin: 'com.google.gms.google-services'
文档页面的屏幕截图


你能分享你的app/build.gradle文件吗?完成了,刚刚添加。虽然没有对任何东西做任何更改,但我大约一天前发现了这一点,它影响到了我正在进行的每个颤振项目,甚至是Scratch的一个新项目。是的,只是再次仔细阅读文档并注意到了这一点。我只是好奇为什么我能做到这一点在今天之前签署和发布发布版本。将我标记为confusedNote(来自Flatter docs):更改gradle文件后,您可能需要运行Flatter clean。这可以防止缓存的版本影响签署过程。