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

fgw7neuy  于 2022-12-05  发布在  Flutter
关注(0)|答案(6)|浏览(213)

我一直在使用Google Play应用签名,Flutter和VS代码没有问题有一段时间了,但从昨天开始,我正在处理的每一个Flutter项目的每一个发布版本都不断遇到错误,并报告我正在尝试上传调试版本。
“您上传了在调试模式下签名的APK或Android应用捆绑包。您需要在发布模式下签名您的APK或Android应用捆绑包”
即使是新的应用程序也有同样的问题
我清理了构建文件夹,使用了--release标志,两个选项都不起作用。
我想尝试的一件事是手动编译应用程序,手动签名,然后上传,但不能解决如何做到这一点。
有什么建议吗?扯头发,因为我想不出任何变化,最近可能会影响这一点。
flutter doctor输出-唯一有点奇怪的是缺少VS代码flutter扩展-它不是:-/
] Flutter(通道测试版,v0.5.1,在Mac OS X 10.13.6 17 G65,语言环境en-GB)· Flutter版本0.5.1在/用户/kenwen/开发工具/flutter ·框架修订c7 ea 3ca 377(10周前),2018-05-29 21:07:33 + 0200·引擎修订1 ed 25 ca 7 b7· Dart版本2.0.0-dev.58.0. flutter-f981 f09760
[] Android工具链-为Android设备开发(Android SDK 28.0.1)· Android SDK位于/Users/kenwen/Library/Android/sdk · Android NDK位置未配置(可选;·平台android-28,构建工具28.0.1 · Java二进制文件,位于:/应用程序/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java· Java版本OpenJDK运行时环境(内部版本1.8.0_152-版本-1024-b 01)·接受所有Android许可证。
[] iOS工具链-为iOS设备开发(Xcode 9.4.1)· Xcode位于/Applications/Xcode.app/Contents/Developer· Xcode 9.4.1,构建版本9 F2000·iOS部署1.9.2 · CocoaPods版本1.5.2
[] Android工作室(版本3.1)· Android工作室在/应用程序/Android Studio.app/Contents·Flutter插件版本27.0.1 · dart 插件版本173.4700 · Java版本OpenJDK运行时环境(构建1.8.0_152-发布-1024-b 01)
[!] VS代码(版本1.25.1)· VS代码位于/Applications/Visual Studio Code.app/Contents· 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'
fwzugrvs

fwzugrvs1#

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

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

在这里您可以找到更多信息:https://docs.flutter.dev/deployment/android

bkhjykvo

bkhjykvo2#

您还需要更改

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中

zfciruhq

zfciruhq3#

问题用红色标记。你已经复制了第一部分,也就是signedConfigs。但是没有把“debug”改成“release”。NASA透露,当你真实的匆忙,看不到文档中的一些细节,需要尽快构建和发布项目时,就会发生这种情况。我就是这样。
文档页面https://flutter.dev/docs/deployment/android的屏幕截图

egmofgnx

egmofgnx4#

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

oyxsuwqo

oyxsuwqo5#

您必须生成一个上传密钥和密钥库。
在菜单栏中,点击构建生成签名包/APK
在生成签名捆绑包或APK对话框中,选择Android应用捆绑包APK,然后单击下一步。
在“密钥库路径”字段下方,单击“新建”。
填写必填字段:路径、密码、密钥、密码、有效年数、证书详细信息(名称、组织单元等)
单击“确定”(Ok)。
要构建,请转到菜单〉构建生成签名捆绑包/APK
选择释放模式,不要忘记检查V1和V2 x1c 0d1x
以上信息取自Android Developer User Guide

yyhrrdl8

yyhrrdl86#

文件路径:android/app/build.gradle
搜索**signingConfig signingConfigs.debug并用signingConfig signingConfigs.release**替换

相关问题