Je voudrais SSH sur mon téléphone, télécharger un APK et l'installer à distance. Y a-t-il une commande disponible sur le téléphone qui me permettrait de faire cela?
PAR EXEMPLE:
wget localhost/file.apk
android_install file.apk
Besoin d'automatiser une installation, car je viens d'essuyer accidentellement ma carte SD et tout ce qui s'y trouve. :(
cyanogenmod
adb
ssh
bash
Naftuli Kay
la source
la source
Réponses:
Dans l'adb shell ou l'émulateur de terminal (et très probablement via SSH), vous pouvez utiliser l'
pm
utilitaire pour installer des applications. La commande est:Voici les commutateurs de
pm
:Par exemple, vous pouvez forcer l'application à installer directement sur le stockage externe (style Froyo / Gingerbread.)
PS L'
wget
utilitaire devrait être disponible via BusyBox sur CM7. Sinon, vous pouvez toujours l'installer via Android Market .la source
pm
existe à/system/bin/pm
, mais malheureusement sur SSH (même en tant que root), il ne fait rien. L'exécution d'unepm
commande ne produit aucune sortie. Y a-t-il quelque chose que je fais mal? Il fonctionne dans l'émulateur de terminal, mais pas via SSH pour une raison quelconque :(adb
ne fonctionne que via le câble USB, n'est-ce pas? Et SSH peut être sur un réseau sans fil. Aussi,ssh
est-il partout, maisadb
doit être installé.Je vous suggère de brancher votre téléphone sur un PC avec le sdk (ou au moins adb) installé et en mode débogage. Après cela, écrivez un script qui passe par vos applications et les installe via adb, par exemple
adb install x:\path\to\app1.apk
.la source
cp * /data/app && reboot
cat
commande.pm install /sdcard/app1.apk
fera la même choseadb install
et peut être exécuté dans le shell adb, l'émulateur de terminal et très probablement sur SSH. Jetez un oeil à la sortie depm
pour plus d'options. Il y a même un interrupteur pour forcer l'application à installer directement sur le stockage externe (style Gingerbread).J'utilise la même méthode et oui SSH est super! Mais il semble que lorsque vous SSH vers Android, il obtient un shell différent de sh, donc si vous mettez sh devant la commande, cela devrait fonctionner.
Voici un exemple:
sh /system/bin/pm install app1.apk
la source