web-dev-qa-db-fra.com

Erreur Google Play: impossible de télécharger un fichier APK de test uniquement

Lorsque j'essaie de télécharger la première apk vers un projet récemment créé dans la console GooglePlay, je reçois cette erreur:

Vous ne pouvez pas télécharger un fichier APK de test uniquement

La recherche Google me donne 0 résultats pour cette chaîne exacte selon aujourd'hui.

J'ai également soumis un ticket pour Play Console. Mettra à jour ici si vous avez une réponse.

MISE À JOUR 29 novembre 2017

Comme l'a suggéré @ paul-lammertsma, il existe une solution de contournement. Ce serait quand même bien de savoir pourquoi nous devons aller graduellement et nous ne pouvons pas le faire via IDE.

36
Vito Valov

Création de votre application via Android Studio 3.0 et versions ultérieures ajouteront Android:testOnly="true" à votre manifeste d'application, marquant l'APK comme FLAG_TEST_ONLY pour le PackageManager. Plus d'informations sur CommonsBlog ici.

La tentative d'installation d'un tel fichier APK en dehors de Android Studio échouera avec:

Échec de l'installation de app-debug.apk: échec [INSTALL_FAILED_TEST_ONLY: installPackageLI]

Tenter de le télécharger sur Google Play échouera également, avec:

Vous ne pouvez pas télécharger un fichier APK de test uniquement

Il existe quatre solutions:

Construire à partir de Android Studio

Sélectionnez simplement "Build APK (s)" dans le menu "Build" de Android Studio.

Connectez-vous depuis Android Studio manuellement

Sélectionnez simplement "Generate Signed APK ..." dans le menu "Build" dans Android Studio. Fournissez le fichier de clés et entrez les détails de signature dans la boîte de dialogue qui s'affiche.

Construisez à travers Gradle

Vous pouvez bien sûr simplement exécuter Gradle depuis le terminal. D'ailleurs, si votre cycle de déploiement passe par CI (et ça devrait!), C'est vraiment la voie à suivre!

./gradlew assembleRelease

(Vous pouvez également préférer exécuter cette tâche Gradle à partir du volet Gradle depuis Android Studio.)

Désactivez cette fonctionnalité dans Android Studio

Si vous n'aimez pas ce comportement, vous pouvez choisir d'ajouter ce drapeau à votre gradle.properties. Méfiez-vous que l'indicateur de test est pour votre propre protection, donc vous ne publiez pas accidentellement un APK de test uniquement!

# Disble the bullshit testOnly mode for Android Studio
Android.injected.testOnly=false
49
Paul Lammertsma

On dirait que j'ai trouvé quelque chose de très lié: Échec de l'installation d'ADB avec INSTALL_FAILED_TEST_ONLY

J'utilise 2.4.0-alpha6 du plugin gradle et cela semble loin d'être prêt à être utilisé pour la production.

La solution consiste donc à utiliser le dernier plugin stable gradle:

classpath 'com.Android.tools.build:gradle:2.3.1'

8
Vito Valov

Cliquez sur Build, puis appuyez sur BuildAPK (s), puis téléchargez-le fonctionnera. Exécutez l'APK instantanément sur Android studio 3.0 fonctionne uniquement sur l'appareil connecté à adb.

8
sharma.mahesh

J'ai trouvé ce blog qui traite de la cause du bogue "test uniquement"

https://commonsware.com/blog/2017/10/31/Android-studio-3p0-flag-test-only.html

fondamentalement, il y a deux choses à noter à ce sujet:

Vous ne pouvez pas installer une application avec Android: testOnly = "true" par des moyens conventionnels, comme à partir d'un gestionnaire de fichiers Android ou à partir d'un téléchargement à partir d'un site Web

Android Studio 3.0 définit Android: testOnly = "true" sur les fichiers APK exécutés à partir de l'IDE

Android studio 3.0 définit désormais cet indicateur "testOnly" lorsque vous compilez une version finale à l'aide du bouton vert Exécuter (créez le projet CTRL + F9).

La solution que j'ai trouvée est de ne pas appeler "make project", mais d'appeler

  • construire> construire APK ou
  • build> Générer un APK signé ...
4
Angel Koh

J'utilise Android Studio 3.1 Canary 5

Ce que j'avais essayé (mais pas travaillé):

  • J'ai essayé toutes les réponses ci-dessus, mais malheureusement je n'ai pas trouvé de solution.
  • J'ai supprimé kotlin dépendance et signé mais ne fonctionnait pas.
  • J'ai essayé d'utiliser la ligne de commande comme ./gradlew assembleRelease
  • J'ai essayé de créer un apk en utilisant "Build APK" et "Generate Signed APK"

Après toutes les possibilités j'ai obtenu la solution de la manière suivante: - La version du SDK de compilation est passée de Android P à Android Oreo 27 - Modifié AppCompat Version vers 27.0.1

et son travail avec succès maintenant.

Merci.