Comment installer l'application à partir de la ligne de commande (terminal)?


10

Comment installer l'application à partir de la ligne de commande (terminal)?

Je voudrais démarrer une fenêtre de terminal et faire l'installation d'apk à partir de la ligne de commande (script shell)

EDIT1: dans le téléphone. Est-il également possible d'installer à partir de Google Play à partir d'une URL, au lieu d'un chemin local?

Je n'ai pas reçu de réponse, comment installer l'application Google Play à partir de la ligne de commande.

Réponses:


11

Avec suffisamment de privilèges (ADB, root, application système), vous pouvez utiliser de simples commandes de terminal pour installer des applications:

Sur un PC:

Exécutez la commande simple

adb install <path to .apk file>

et l'application sera installée.
Cela nécessite adbd'être installé et le mode de débogage activé.
Le fichier doit se trouver sur le PC.

Dans adb shellou sur un terminal de l'appareil:

pm install <path to .apk file>

C'est fondamentalement la même que la méthode PC mais nécessite que le fichier soit placé sur le téléphone.
Des privilèges supplémentaires pour installer des applications sont requis (le shell ADB les hérite du système, d'autres applications de terminal nécessitent root )


2
Parfois, l'installation à partir de l'appareil pm install <package.apk>échoue avec Failure [INSTALL_FAILED_INVALID_URI]. Si sur CM12.1 ou ayant des autorisations root et le adbclient sur le téléphone, il est possible de contourner cela en faisant se connecter le téléphone à lui-même. Pour ce faire, vous devez exécuter setprop service.adb.tcp.port 5555, puis adb start-server, puis adb connect 127.0.0.1:5555, puis enfin adb shell "pm install <apk_path>". Toutes les commandes doivent être exécutées en tant que root.
Grimoire

2
Enfin, si vous utilisez ma méthode susmentionnée, il y a des moments où adb signalera un mannequin emulator-5554sous adb devices. Le tuer via adb emu killne fonctionne pas, mais émettre à setprop service.adb.tcp.port 5555nouveau fera disparaître l'émulateur factice. La commande setprop doit être exécutée lorsque le serveur adb est en cours d'exécution, sinon l'émulateur factice ne disparaîtra pas.
Grimoire

Salut @DeathMaskSalesman, je suis sur CM13 et je reçois l'erreur INVALID_URI. Comme je suis capable d'installer l'apk avec adb et mon ordinateur portable, je serais vraiment intéressé à faire fonctionner votre solution, donc je peux le faire sans avoir besoin d'un PC. Juste une question ... comment installer adb dans le téléphone? find / -name 'adb' ne m'a donné que trois dossiers ... En regardant en ligne, je n'ai rien trouvé
Giacomo Tecya Pigani

@GiacomoTecyaPigani Vous pourriez tenter votre chance avec une version d'ADB que j'ai extraite de mon système CM12.1. Après l' avoir téléchargé à partir ici , remount / système en mode lecture-écriture, copiez le binaire / système / bin , question chown root.shell /system/bin/adb, chmod 755 /system/bin/adbet chcon u:object_r:system_file:s0 /system/bin/adbvoir si cela fonctionne.
Grimoire

1
Merci @DeathMaskSalesman, mais malheureusement cela n'a pas fonctionné. Je l'ai résolu en rétrogradant vers une version précédente de CM13 (puisque celle que j'utilisais était déjà la dernière pour mon appareil)
Giacomo Tecya Pigani
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.