J’expliquais, lors de mes premières impressions d’Android 2 sur le Motorola Milestone, qu’il était impossible d’installer un fichier .apk sans accepter les conditions d’utilisation du market ni configurer un compte gmail.
C’est en fait possible, grâce à l’outil adb du SDK Android, à partir la connexion USB de l’ordinateur.
Configurer le téléphone
Pour que l’outil d’installation puisse fonctionner, il faut activer l’option Paramètres > Applications > Développement > Débogage USB sur le téléphone.
Configurer l’ordinateur
Il faut télécharger Android SDK.
Sous GNU/Linux (plus précisément Ubuntu 9.10, adaptez selon votre distribution), voici comment l’installer et permettre la reconnaissance du Motorola Milestone (plus d’infos ici) :
sudo tar xzf android-sdk_r04-linux_86.tgz -C /opt
sudo ln -s /opt/android-sdk-linux_86/tools/adb /usr/bin
echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev reload
Vous pouvez maintenant brancher votre téléphone sur le PC en USB. Pour vérifier que tout fonctionne :
$ adb devices List of devices attached 040140621600C00D device
Installer une application
En ligne de commande
Pour installer une application à partir de l’ordinateur, rien de plus simple :
$ adb install -r ConnectBot-svn-r466-all.apk 2343 KB/s (642578 bytes in 0.267s) pkg: /data/local/tmp/ConnectBot-svn-r466-all.apk Success
(-r permet d’écraser si l’application est déjà installée)
À partir d’un gestionnaire de fichiers
Vous pouvez ensuite ajouter la possibilité d’installer les .apk graphiquement à partir de votre gestionnaire de fichiers. Si vous utilisez nautilus, vous pouvez jouer avec nautilus-actions :

Voici la commande de mon action nautilus (j’ouvre un xterm pour avoir le résultat de l’installation, si vous avez mieux, n’hésitez pas) :
xterm -T adb -e 'cd "%d" && /usr/bin/adb install -r "%f"; sleep 5'
Conclusion
J’ai réinitialisé mon téléphone, il n’a plus de compte gmail associé et je n’ai pas accepté les conditions du market, ce qui ne m’empêche donc plus d’installer les applications dont j’ai besoin.
Même pour ceux qui veulent garder leur compte ou utiliser le market, c’est quand même plus rapide d’installer un .apk grâce à un clic-droit, « installer » à partir du gestionnaire de fichiers plutôt que de copier le .apk sur la carte SD, débrancher le câble USB, aller dans une appli qui va chercher le fichier et cliquer sur « installer ».

Pingback: Motorola Milestone avec Android 2, mes premières impressions « ®om's blog
#1 par vilraleur à 10 janvier 2010 - 17 h 29 min
Citation
C’est bien. L’astuce peut être pratique pour faire des sauvegardes de ses application …
Mais dans ton cas tu installe des programmes non acheté …
Pas très sympathique pour les Dev …
#2 par ®om à 10 janvier 2010 - 17 h 38 min
Citation
Ah bon, et pourquoi cela? Je n’installe que des programmes sous licence libre, comme sur mon PC…
Pour toi, un programme doit être propriétaire, payant et fermé?
#3 par diogene à 10 janvier 2010 - 17 h 58 min
Citation
Dommage. Ça ne marche pas avec mon Samsung Galaxy Spica. J’ai pourtant modifié le code « Vendor » mais adb devices me revoie une liste vide.
#4 par Chriss à 10 janvier 2010 - 18 h 14 min
Citation
Le problème par rapport au Market, c’est que même si celui ci est bordélique, il centralise tous les programmes.
Mais je ne crois pas qu’il existe de dépôt ou autre permettant de trouver des .apk, il faut donc se frapper de chercher sur des sites pour les récupérer, du moins quand on sait ce qu’on cherche.
Et ça, c’est pas pratique.
#5 par MAIDEN à 10 janvier 2010 - 18 h 53 min
Citation
Rôôôh tu t’es fait avoir par un troll aussi évident ?!
#6 par flem à 10 janvier 2010 - 20 h 00 min
Citation
Hello, comment fais tu pour recuperer les .apk dans ce cas ?
#7 par LordPhoenix à 10 janvier 2010 - 21 h 15 min
Citation
C’est dingue ces app-store et compagnies. Il ne reste plus que Windows Mobile sur lequel on peut encore installer les applications que l’on veut.
#8 par ®om à 10 janvier 2010 - 21 h 31 min
Citation
Ils sont dispos sur le site du programme en question. Par exemple : connectbot, beem, jabiru, k9mail…
#9 par regala à 14 janvier 2010 - 17 h 54 min
Citation
> Ah bon, et pourquoi cela? Je n’installe que des
> programmes sous licence libre, comme sur mon PC…
> Pour toi, un programme doit être propriétaire, payant et
> fermé?
parce que selon toi payant = pas libre ? tu te trompes lourdement. Un développeur de logiciel libre a aussi besoin de manger, et placer le code en licence libre n’empêche pas ce développeur de pouvoir vouloir être _justement_ rémunéré pour le travail fourni. Va relire la GPL.
#10 par ®om à 14 janvier 2010 - 18 h 02 min
Citation
Je n’ai pas dit le contraire regala.
Mais la phrase à laquelle j’ai répondu disait que « pas acheté » implique « pas sympathique pour les dév », ce qui sous-entend que pour respecter le développeur, et donc la licence qu’il a utilisée (quelqu’elle soit), il faut avoir « acheté » son programme. Ce qui est faux.
@MAIDEN: oui, je suis tombé dans le troll, et je continue ^^
#11 par regala à 15 janvier 2010 - 13 h 39 min
Citation
@®om: mouais. désolé, le développeur peut avoir à vivre de ça, et quelle que soit la licence qu’il a pu choisir pour distribuer son soft, c’est irrespectueux vis-à-vis de ce développeur que d’utiliser une méthode permettant d’éviter de lui reverser son dû. ce que je soulignais, mais très mal
, c’est que ce n’est aucunement un problème de licence, mais un problème de respect moral.
#12 par Hell Pé à 16 janvier 2010 - 19 h 41 min
Citation
Mec, je crois que t’as oublié de fermer une balise italique :p
#13 par ®om à 17 janvier 2010 - 11 h 15 min
Citation
Merci, j’ai corrigé (c’est quand j’ai rajouté une petite ligne en italique dans l’article).
#14 par huguenant à 7 février 2010 - 21 h 55 min
Citation
Bon, j’ai fait et refait tout cela, mais impossible de trouver mon milestone sur la prise usb, même quand il est relié. adb ne trouve aucun device, alors que lsusb le trouve bien !
Si quelqu’un pouvait me donner une piste.
J’utilise Ubuntu 8.10 LTS, et j’ai acquis le motorola milestone.
Merco
#15 par ®om à 7 février 2010 - 21 h 58 min
Citation
@huguenant, pour les versions avant la 9.10, le fichier doit peut-être s’appeler 50-android.rules au lieu de 51 :
sudo mv /etc/udev/rules.d/5{1,0}-android.rulesÀ tester…
#16 par huguenant à 8 février 2010 - 20 h 08 min
Citation
Merci de la proposition, mais hélas, cela ne change rien. Rien dans la « list of device attached »,
et « can’t find ‘ConnectBot-svn-r466-all.apk’ to install », sur la commande :
« adb install -r ConnectBot-svn-r466-all.apk »
Bizarre, bizarre.