Je rencontre des problèmes pour installer un apk sur mon appareil.
adb install <.apk>
L'utilisation de la commande ci-dessus renvoie les éléments suivants:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
Une idée sur ce qui pourrait causer ce problème?
Il reconnaît définitivement l'appareil. Serait-ce un problème avec l'apk?
On dirait que vous devez modifier votre AndroidManifest.xml
Remplacez Android:testOnly="true"
par Android:testOnly="false"
ou supprimez cet attribut.
Si vous souhaitez conserver l'attribut Android:testOnly
en tant que true
, vous pouvez utiliser la commande pm install
avec l'option -t
, mais vous devrez peut-être Push
l'apk d'abord sur le périphérique.
$ adb Push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)
$ adb Shell pm install /tmp/hello.apk
pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]
$ adb Shell pm install -t /tmp/hello.apk
pkg: /tmp/hello.apk
Success
J'ai pu reproduire le même problème et ce qui précède l'a résolu.
Si votre APK est en dehors de l'appareil (sur votre bureau), la commande ci-dessous le ferait:
$ adb install -t hello.apk
J'ai eu un problème similaire avec Android Studio 3.0.0 Beta 7
et je ne pouvais plus publier sur le Play Store.
Comme indiqué ici: https://developer.Android.com/studio/run/index.html
Remarque: le bouton Exécuter crée un APK avec testOnly = "true", ce qui signifie L'APK ne peut être installé que via adb (utilisé par Android Studio). Si vous voulez un APK débogable que les gens peuvent installer sans adb, sélectionnez votre variante de débogage et cliquez sur Construire> Construire APK.
Il en va de même pour la version de version, avec Android Studio 3
, vous devez accéder à Build > Build APK(s)
pour disposer d'un apk de version non testable que vous pouvez soumettre au magasin.
Dans mon cas, cette erreur était en version instable. Utilisez simplement une version stable de Gradle (pas alpha, pas même bêta). Et c'était réglé pour moi
Ajoutez le drapeau -t
à installer, comme sur la capture d'écran ci-dessous:
Je suis d'accord avec Elisey. J'ai eu la même erreur après avoir ouvert mon projet dans l'aperçu 2.4 puis le même projet dans Android Studio 2.3
Correction du problème en modifiant cette ligne dans build.gradle à partir de
classpath 'com.Android.tools.build:gradle:2.4.0-alpha5'
à
classpath 'com.Android.tools.build:gradle:2.3.1'
Après avoir recherché et parcouru toute la journée, il ne reste plus qu’à ajouter
Android.injected.testOnly=false
vers le fichier gradle.properties
Android studio 3.0 génère test uniquement APK.
J'ai résolu le problème en ajoutant la propriété "Android: testOnly" à la balise du manifeste Android.
<application
.....
Android:testOnly="false"
Android:theme="@style/AppTheme">
Et ensuite généré le fichier APK par Android studio3.0: Construire -> Construire APK (s).
Plus d'infos:https://commonsware.com/blog/2017/10/31/Android-studio-3p0-flag-test-only.html
Dans mon cas, le téléchargement d'un fichier APK a été généré par le bouton d'exécution du studio Android . Problème résolu après la génération du fichier APK de Gradle ou de l'option Construire le menu APK de menu. .
ajoutez cette ligne à votre fichier 'gradle.properties'
Android.injected.testOnly=false
Si vous voulez tester l'apk, ajoutez simplement l'option -t
en ligne de commande.
Exemple de commande:
adb install -t .\app-debug.apk
Le moyen le plus simple de résoudre ce problème, sans revenir à une version plus ancienne de Gradle, consiste à ajouter l'option '-t' dans les configurations d'exécution (pour l'installation par pm).
testOnly = 'false' n'a eu aucun effet. L'erreur est provoquée par la version alpha du plugin Gradle qui permet de déboguer APK 'à des fins de test uniquement'. L'option -t permet à de tels APK d'être installés. En le configurant en mode d’exécution, il vous installe automatiquement comme d'habitude.
Aucun des post précédent ne résout mon problème. Voici ce qui se passe avec moi:
Je charge normalement l'application depuis Android studio en cliquant sur le bouton "Exécuter". Lorsque vous faites cela, Android crée une application qui convient au débogage mais pas à l'installation. Si vous essayez d'installer en utilisant:
adb install -r yourapk
vous recevrez un message qui dit:
Échec [INSTALL_FAILED_TEST_ONLY]
Lorsque cela se produit, vous devrez reconstruire l'apk en nettoyant d'abord la construction, puis sélectionnez Construire-> Construire APK. Voir l'image ci-dessous:
Cet APK est prêt à être installé via la commande adb install ou par toute autre méthode.
J'espère que cela t'aides
David
cela fonctionne pour moi adb install -t myapk.apk
Je ne sais pas si ça va être utile à qui que ce soit ou non, mais j'ai reçu ce message d'erreur quand j'ai accidentellement essayé de construire et d'installer mon projet avec la version d'essai du plugin de test gradle ('gradle:2.4.0-alpha5'
) dans la version stable d'Android Studio (2.3
, pas dans 2.4 preview 5
version que j'avais déjà téléchargée et installée auparavant).
Quand j'ai réalisé mon erreur, j'ai lancé la version préliminaire de la version Android Studio, qui a construit et installé mon projet sans problème.
Ma conclusion est comme ci-dessous. Si je compile à l'aide de l'interface utilisateur Android Studio et que l'APK est généré, je ne peux pas simplement
adb install <xxx.apk>
Il va générer Failure [INSTALL_FAILED_TEST_ONLY]
J'ai besoin de le compiler en utilisant le gradle, c'est-à-dire ./gradlew app:assembleRelease
. Alors seulement l'apk généré, alors il ne peut être installé.
Cela est dû au fait que l'interface utilisateur Android Studio Compile génère uniquement des tests apk pour un périphérique particulier, tandis que la commande ./gradlew app:assembleRelease
correspond à la génération actuelle d'apk devant être installée sur tous les périphériques (et chargée dans le magasin de lecture)
Bien que je sois certain que la réponse de Saurabh fonctionnera pour la plupart des gens, je souhaitais identifier les étapes supplémentaires à suivre pour installer mon apk.
J'ai essayé d'appuyer sur l'appareil avec le résultat suivant:
? adb Push AppClient.TestOnly.App3.apk \tmp\
failed to copy 'AppClient.TestOnly.App3.apk' to '\tmp\': Read-only file system
Après avoir cherché à modifier les autorisations RW du système de fichiers, j'ai finalement exécuté les commandes suivantes:
? adb Shell
255|Shell@Android:/ $ su
Shell@Android:/ # mount -o remount,rw /
mount -o remount,rw /
Je l'ai eu quand j'ai essayé de pousser à nouveau:
? adb Push AppClient.TestOnly.App3.apk /tmp
failed to copy 'AppClient.TestOnly.App3.apk' to '/tmp': Permission denied
J'ai pu pousser à la carte SD:
? adb Push AppClient.TestOnly.App3.apk /sdcard/
3178 KB/s (99747 bytes in 0.030s)
A quel point j'ai pu exécuter le commandement de Saurabh:
Shell@Android:/ # pm install -t /sdcard/AppClient.TestOnly.App3.apk
pm install -t /sdcard/AppClient.TestOnly.App3.apk
pkg: /sdcard/AppClient.TestOnly.App3.apk
Success
Construisez votre distribution .apk à partir de Android Studio comme suit
Construire -> Construire Apk (s) (pour une construction non signée) Construire -> Générer un APK signé (pour une construction signée)
Cette option construit l'APK avec Android: option testOnly = "false" qui vous permet d'installer l'APK explicitement dans l'appareil par le biais du commond.
adb installez yourBuilT.apk
Pour moi, cela a fonctionné, exécutez la tâche Gradle 'clean' (sous: app, dans le volet Gradle, généralement situé à droite) et relancez le projet.
J'ai essayé le projet externe, avec plusieurs apk.
La commande de Studio ressemblait à
adb install-multiple -r ....
Solution -
-t
supprime d'abord la version instable:
adb uninstall
problematic-package-name
; puis réinstallez l'apk.
Comme mentionné dans documentation :
Android Studio ajoute automatiquement cet attribut lorsque vous cliquez sur Exécuter.
Donc, pour pouvoir installer votre apk avec adb install <path to apk file>
, vous devez assembler la construction à partir du terminal: ./gradlew assembleDebug
et installer avec adb. Ou exécutez simplement ./gradlew installDebug
pour créer et installer simultanément sur le périphérique.