上载可调试的Flutter应用时,Google Play错误

时间:2018-08-04 19:11:11

标签: android flutter google-play-console

我已经使用Google Play应用签名,Flutter和VS Code已有一段时间了,但从昨天开始,从昨天开始,我正在处理的每个Flutter项目的每个发行版都出现错误并报告我尝试上传调试版本。

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

即使是新应用程序也存在同样的问题

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

我想尝试的一件事是手动编译应用程序,手动签名然后上传,但无法确定如何做到这一点。

有什么建议吗?扯掉头发,因为我想不出最近有什么变化会影响到头发。

医生的颤振输出-唯一奇怪的是缺少VS Code颤振扩展名-不是:-/

✓] Flutter(Mac OS X 10.13.6 17G65上为Channel beta,v0.5.1,语言环境为en-GB)     •Flutter 0.5.1版位于/ Users / kenwen / Dev Tools / flutter     •Framework版本c7ea3ca377(10周前),2018-05-29 21:07:33 +0200     •引擎版本1ed25ca7b7     •Dart版本2.0.0-dev.58.0.flutter-f981f09760

[✓] Android工具链-为Android设备开发(Android SDK 28.0.1)     •位于/ Users / kenwen / Library / Android / sdk的Android SDK     •未配置Android NDK位置(可选;对本机性能分析支持很有用)     •平台android-28,构建工具28.0.1     •Java二进制文件,位于:/ Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java     •Java版本OpenJDK运行时环境(内部版本1.8.0_152-release-1024-b01)     •接受所有Android许可。

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

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

[!] VS代码(1.25.1版)     •/ Applications / Visual Studio Code.app/Contents中的VS代码     •未安装Flutter扩展;从安装       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

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

!医生发现了2类问题。

build.gradle

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'

5 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:5)

您还需要更改

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

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

在android / app / build.gradle文件中

答案 2 :(得分:3)

问题以红色标记。您已经复制了第一部分,即signedConfigs。但是并没有将“调试”更改为“发布”。美国国家航空航天局(NASA)透露,这种情况发生在您非常急忙而又看不到文档中的一些详细信息,并且需要尽快构建和发布该项目时。我就是那样。

文档页面https://flutter.dev/docs/deployment/android

中的屏幕截图

Flutter build

答案 3 :(得分:2)

android/app/build.gradle中,将signingConfig signingConfigs.debug更改为signingConfig signingConfigs.release,您可以在buildTypes下找到

答案 4 :(得分:0)

您必须生成一个上传密钥和密钥库。

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

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

在“密钥存储路径”字段下,单击“新建”。

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

单击确定。

要构建,请进入菜单> 构建> 生成签名包/ APK

选择释放模式,别忘了同时检查V1和V2 enter image description here

以上信息取自Android Developer User Guide