GooglePlayでFlutterアプリをリリースしようとしています。このガイドに従ってキーストアを作成しましたhttps://flutter.dev/docs/deployment/android#signing-the-app
今、私はこのコマンドでリリースアプリを構築しようとしています
flutter build apk --release --split-per-abi
(明示的にするために--releaseフラグを追加しました)そしてその後、2つのapkファイルを取得します:
app-arm64-v8a-release.apk
そして
app-armeabi-v7a-release.apk
それらの名前でさえ、それらが両方ともリリースファイルであることを明確に示しています。次に、それらのいずれかをgoogle playにアップロードしようとすると、常に次のエラーメッセージが表示されます。
ダウンロードに失敗しました
ダウンロードしたAPKファイルまたはAndroidAppBundleはデバッグモードで署名されました。ファイルに署名するか、リリースモードに設定します。署名の詳細をご覧ください。
私のgradle.buildファイルにはこれが含まれています:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
そして、私がそれを構築するとき、問題はありません。
ここで何が欠けていますか?私は完全にそれに固執しています
これを解決しました。その理由は、以前にflutter run--releaseコマンドを使用したことがあるためです。そのため、gradleはデバッグキーストアをキャッシュし、実際にそれを使用してリリースAPKに署名していました。
解決策は簡単です
プロジェクトディレクトリで新しいターミナルを開き、次のように入力します。
cd android
プロジェクトのAndroidディレクトリにいるときに、このコマンドを入力します
./gradlew clean
./に特に注意してください。単にgradlewcleanと入力すると、gradlewが実際に「android」ディレクトリ内にある場合でも機能しません。
Gradleキャッシュがクリーンアップされたら、buildコマンドを再度実行するだけです。
flutter build apk --split-per-abi
そして、あなたはグーグルプレイによって受け入れられるであろう正しく署名されたリリースAPKを得るでしょう
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加