web-dev-qa-db-ja.com

デバッグ可能なFlutterアプリをアップロードする際のGooglePlayエラー

私はしばらくの間GooglePlayアプリの署名、Flutter、VS Codeを問題なく使用していますが、昨日から、作業中のすべてのFlutterプロジェクトのすべてのリリースビルドでエラーが発生し続け、アップロードしようとしていることが報告されていますデバッグビルド。

「APKまたはデバッグモードで署名されたAndroid AppBundleをアップロードしました。APKまたはリリースモードのAndroid AppBundle)に署名する必要があります。」

新しいアプリでも同じ問題が発生しています

ビルドフォルダーをクリーンアップし、-releaseフラグを使用しましたが、どちらのオプションも機能しませんでした。

私が試したいことの1つは、アプリを手動でコンパイルし、手動で署名してからアップロードすることですが、これを行う方法を理解できません。

助言がありますか?これに影響を与える可能性のある最近の変更は考えられないので、髪を引き裂きます。

フラッタードクターの出力-少し奇妙なのは、VS Codeのフラッター拡張機能が欠落していることです-そうではありません:-/

✓] Flutter(Mac OS X 10.13.6 17G65のチャネルベータv0.5.1、ロケールen-GB)•/ Users/kenwen/Dev Tools/flutterのFlutterバージョン0.5.1•フレームワークリビジョン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)•Android SDK at/Users/kenwen/Library/Android/sdk•Android NDKの場所が構成されていません(オプション。ネイティブプロファイリングのサポートに役立ちます)•プラットフォームAndroid-28、build-tools28.0.1•Javaバイナリ:/ Applications/AndroidStudio.app/Contents/jre/jdk/Contents/Home/bin/Java•JavaバージョンOpenJDKランタイム環境(ビルド1.8.0_152- release-1024-b01)•すべてのAndroidライセンスが受け入れられました。

[✓] iOSツールチェーン-iOSデバイス用に開発(Xcode 9.4.1)•/ Applications/Xcode.app/Contents/DeveloperのXcode•Xcode 9.4.1、ビルドバージョン9F2000•ios-deploy1.9.2•CocoaPodsバージョン1.5。 2

[✓] Android Studio(バージョン3.1)•Android Studio at/Applications/AndroidStudio.app/Contents•Flutterプラグインバージョン27.0.1•Dartプラグインバージョン173.4700•JavaバージョンOpenJDKランタイム環境(ビルド1.8.0_152-release-1024-b01)

[!] VSコード(バージョン1.25.1)•/ Applications/Visual StudioCode.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'
8
kenwen

リリースモードの署名構成を作成する必要があります。現在のファイルでは、デバッグからの署名構成を使用しています。

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

アップロードキーとキーストアを生成する必要があります。

メニューバーで、Build>Generate Signed Bundle/APKをクリックします。

[署名済みバンドルまたはAPKの生成]ダイアログで、Android App Bundleまたは[〜#〜] apk [〜#を選択します〜]そして[次へ]をクリックします。

キーストアパスのフィールドの下にある[新規作成]をクリックします。

必須フィールドに入力します:パス、パスワード、キー、パスワード、有効年数、証明書の詳細(名前、組織単位など)

[OK]をクリックします。

ビルドするには、メニューに移動します>ビルド>署名付きバンドル/ APKの生成

リリースモードを選択し、V1とV2の両方をチェックすることを忘れないでください enter image description here

上記の情報は Android開発者ユーザーガイド から取得されます

0
Sukhi