6
votes

Flutter release apk non accepté par la console Google Play

J'ai créé une clé et un fichier de clés et signé mon apk, en suivant les instructions étape par étape de la page flutter officielle .

Mais lorsque j'essaye de l'importer sur la console Google Play, j'obtiens cette erreur:

"Vous avez téléversé un fichier APK ou une collection d'applications Android qui a été signé en mode débogage. Vous devez signer votre fichier APK ou votre collection d'applications Android en mode version"

Une question similaire est demandé auparavant, mais cela n'a pas résolu mon problème.

Voici la partie pertinente de mon app / build.gradle:

[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

Voici la capture d'écran de mes versions d'Android Studio (le SDK Android étant rouge n'est pas pertinent.):

entrez la description de l'image ici

Mon fichier output.json:

android {
compileSdkVersion 28

lintOptions {
    disable 'InvalidPackage'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "my.package.name"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    //testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release

        minifyEnabled true
        useProguard true

        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}


0 commentaires

4 Réponses :


2
votes

Vous devez sélectionner l'option release lors de la création de l'APK

Pour Windows

 entrez la description de l'image ici

Pour Apple

 entrez la description de l'image ici


17 commentaires

Je ne peux pas voir les images imgur, désolé (elles sont interdites dans mon pays pour une raison quelconque). Si vous voulez dire "flutter build apk --release", c'est comme ça que je les ai signés. Mais cela ne fait aucune différence.


J'ai utilisé vpn et j'ai vu les images. Mais d'où puis-je accéder à cette fenêtre? Tous les forums que j'ai consultés disent d'utiliser la commande terminal. J'ai effectué une recherche dans Android Studio avec "rechercher une action", mais ce n'est pas activé pour moi. Je ne peux pas cliquer dessus.


regardez cette vidéo drive.google.com/open?id=19IMiDjAjFcyDNMvO1X1juimLpNzc


Merci pour la vidéo. Mais je n'ai pas d'option "générer un bundle signé" lorsque je clique sur l'onglet "Construire". Je vois "Créer des bundles / APK" mais ce n'est pas cliquable pour moi. J'utilise la dernière version d'Android Studio.


quel est votre numéro de version Studio?


Vous devez ouvrir votre projet Android Flutter dans un studio Android séparé, puis vous pouvez genararte apk. Cliquez avec le bouton droit sur le projet Flutter dans le studio Android, puis vous verrez `` FLUTTER '', survolez-le `` Ouvrir dans le studio Android ''


Android Studio 3.3.1. Peut-être que ce n'est pas activé dans les projets Flutter?


essayez de vérifier la mise à jour en cliquant sur vérifier les mises à jour dans le menu aide


Je l'ai trouvé avec les instructions de Harshapulikollu. Et l'a construit selon la vidéo de VikaS. J'ai chargé le fichier .aap mais pas de chance. Même erreur.


pourriez-vous s'il vous plaît vérifier en sélectionnant les deux options?


J'ai essayé toutes les combinaisons d'App Bundle / APK et de débogage / version. Pas de chance :/


pouvez-vous s'il vous plaît prendre une capture d'écran de votre version de Studio et la joindre à la question ... en cliquant sur À propos dans le menu help


Ils ont été attachés.


vérifiez votre fichier output.json dans le dossier release dans android> app> release> output.json, veuillez le télécharger également.


Ils ont été ajoutés.


Après avoir fouillé un peu,> Flutter clean a résolu le problème. Je ne sais pas pourquoi. Merci à tous pour votre aide.


@MelihDurmaz quelles étapes avez-vous effectuées? Veuillez les ajouter dans les détails sur la réponse, afin que les autres membres puissent les suivre ... Cela les aidera ... Ajoutez simplement vos étapes ci-dessous mes étapes ...



7
votes

Aucune suggestion ne semble fonctionner. Ensuite, un

scintillement propre

et tous les problèmes ont été résolus. Je pourrais créer un apk via Android Studio ou la ligne de commande. Merci à VikaS et Harsha pulikollu


1 commentaires

Merci, je sauve ma nuit



2
votes

flutter clean ne fonctionnait pas non plus pour moi. J'ai donc signé manuellement l'apk et il a été accepté par Google Play Console. Vous avez trouvé les instructions ici https://developer.android.com/studio/ publier / app-signature # sign-manuellement

Comment signer manuellement apk

Pour signer manuellement l'apk, vous devez exécuter les commandes suivantes dans un terminal o dans l'invite de commande de Windows.

1 - Assurez-vous que l'apk est signé avec les clés de débogage:

/ / apksigner verify --print-certs app-release.apk (remplacez "app-release.apk" par votre nom de fichier apk "

S'il est signé avec des clés de débogage, la sortie sera similaire à

Signer #1 certificate DN: C=US, O=Android, CN=Android Debug
Signer #1 certificate SHA-256 digest: 384cf54f892877ea6d934bbc335bf3aa61b8dd3d89e27feb49c0bc7e62b0bbb7
Signer #1 certificate SHA-1 digest: c7a8384ff8fe2d1e99dbdba45db93180ed53b9ff
Signer #1 certificate MD5 digest: ca13ad2688257283319bf2596f360f8c

2 - Exécutez zipalign pour aligner le premier octet et réduire l'utilisation de la RAM

/ / zipalign -v -p 4 app-release.apk app -lined.apk

Il listera les fichiers et se terminera par un message Vérification réussie .

3 - Exécutez appsigner pour signer l'application:

/ / apksigner sign --ks --out app-signed.apk app -lined.apk

Il vous demandera le mot de passe du keystore et terminera silencieusement le travail.

4 - Vérifiez s'il est signé avec vos clés:

/ / apksigner verify --print-certs app-signed.apk code>

S'il est correctement signé, la sortie sera similaire à la première étape, mais au lieu de "Android Debug", elle affichera les données de votre certificat.


2 commentaires

Bonjour @ Ricardo, j'ai le même problème avec React Native 0.60, mais je ne peux pas trouver le chemin de l'outil de construction, est-ce dans les fichiers Android?


@ Friis1978 build-tools se trouve dans le répertoire Android SDK. Son emplacement peut varier en fonction de la façon dont vous avez installé le SDK Android et de votre système d'exploitation.



0
votes

Essayez

flutter clean

La commande flutter clean est vraiment utile dans de nombreux scénarios chaque fois qu'un comportement absurde est montré par l'application.


0 commentaires