5 votes

Peut-on installer un APK à partir d'une URI via `adb`?

Question

Par exemple, j'ai essayé ce qui suit :

adb -s "$DeviceName" install -t 'https://github.com/HomeZz/Current-Activity/releases/download/v1.5.9/app-debug-v1.5.9.apk'

Cependant, cela échoue :

Performing Streamed Install
adb: failed to stat https://github.com/HomeZz/Current-Activity/releases/download/v1.5.9/app-debug-v1.5.9.apk: No such file or directory

Est-ce que quelqu'un connait une méthode alternative qui élimine la nécessité de télécharger d'abord le .APK ?

Rationale

  1. Je pose cette question car lors de la création de prototypes d'APK sur un appareil à partir de plusieurs emplacements en ligne - ce que je fais souvent - le besoin de les télécharger d'abord - surtout avec une connexion Internet lente - peut être gênant.

  2. Quand j'ai d'abord essayé, j'ai été surpris que cela ait échoué, car dnf5 install "$URI" est parfaitement valide et normal.

7voto

John Dallman Points 123

Un peu de lecture du code source de l'ADB révèle qu'il n'y a pas d'autre moyen avec ADB. Aujourd'hui, la fonction clé qui fait le travail est do_sync_push() dans file_sync_client.cpp et cela fait un appel stat() ordinaire sur le(s) fichier(s) source.

Le traitement de adb install est assez simple : pousser l'APK vers /data/local/tmp, invoquer pm dessus, puis supprimer la copie poussée de l'APK.

Il est possible d'étendre ADB pour faire cela, et il est possible de faire des demandes et de signaler des problèmes à cet égard. Je soupçonne qu'il n'a pas toutes les fonctionnalités de dnf5 simplement parce que beaucoup moins de gens l'utilisent.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X