~rom1v/blog { un blog libre }

Installer une application .apk sur Android à partir d'un PC

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, malheureusement non libre.

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_r07-linux_x86.tgz -C /opt
sudo ln -s /opt/android-sdk-linux_x86/tools/adb /usr/local/bin
echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"' |
    sudo tee /etc/udev/rules.d/51-android.rules
sudo service udev reload

Si vous utilisez un système 64 bits, vous aurez besoin également besoin de ia32-libs :

sudo apt-get install ia32-libs

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:

install-apk

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/local/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”.

Commentaires

vilraleur

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 …

®om

@vilraleur 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é?

diogene

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.

Chriss

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.

@®om

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é?

Rôôôh tu t’es fait avoir par un troll aussi évident ?!

flem

Hello, comment fais tu pour recuperer les .apk dans ce cas ?

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.

®om

@flem

Hello, comment fais tu pour recuperer les .apk dans ce cas ?

Ils sont dispos sur le site du programme en question. Par exemple :

regala

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.

®om

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 ^^

regala

@®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.

Hell Pé

Mec, je crois que t’as oublié de fermer une balise italique :p

®om

Merci, j’ai corrigé (c’est quand j’ai rajouté une petite ligne en italique dans l’article).

huguenant

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

®om

@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…

huguenant

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.

Remi

Salut rome, j’ai un lg android mais les application que j’ai spnt des fichiers APk et lorsque je les passe sur ma carte SD, et que je linsert sur mon prtable, je ne retrouve aucunes des applications et je ne comprend pas vraiment ce qu’es sudo echo et les truk ecrit en petit :S merci de m’aider …

®om

@Remi, es-tu sous GNU/Linux déjà?

[…] nekrofage@reseau66:~/ANDROID/android-sdk-linux_86/tools$ Lien : http://blog.rom1v.com/2010/01/installer-une-application-apk-sur-android-a-partir-dun-pc/ […]

®om

Pour ceux qui ont un téléphone non reconnu par adb devices, mettez à jour le SDK : sur un téléphone sur lequel je viens de tester, une ancienne version du SDK ne le reconnaissait pas, alors que le nouveau si.

Il se peut aussi qu’il faille redémarrer l’ordinateur après la modification du fichier de règles (chez moi un simple reload ou restart du service udev ne suffit pas).

Bonjour à tous ,

j’ai un HTC wildfire et j’aimerai savoir si il existe un emulateur de .apk pour linux ?

Je suis sous linux , je dll des logiciels .apk puis je les transfères , via usb , sur mon téléphone puis installe ; c’est super facile et rapide !

mais j’aimerai savoir si il existe un programme qui émulerai android où simplement les .apk sur mon PC linux.

Comme cela je pourrai essaier les logiciels .apk avant de les installer ?

(plus simple que de transféré , installer , tester et effacer si j’aime pas !)

alors qui c’est si ça existe ?

merci , pascal

difficile de trouver l’émulateur !!!

j’ai cherché sous google , visité plusieurs site et j’ai essaier celui si : http://www.webdevonlinux.fr/2009/06/ubuntu-tester-les-applications-android/

mais je ne peux pas aller plus loing que :

” Rajoutez la ligne suivante à la fin du fichier en prenant soin de remplacer ‘korben’ par votre nom d’utilisateur”

“export PATH=${PATH}:~/android-sdk-linux_x86-1.5_r2/tools”

le fichier gedit ~/.bashrc je l’ai ouvert , mais a près ajouter “ export PATH=${PATH}:~/android-sdk-linux_x86-1.5_r2/tools” je l’ai fait en fin de page et enregistrer mais quand je lance l’émulateur rien ne viens ?

Et “korben” c’est où je ne l’ai pas trouvé , c’est la que ca bloque !! je ne sais pas finir l’install.

connais tu un emulateur ?

Cela fonctionne également sous Debian Sid. Si vous avez ce message quand vous faites “adb devices” :

??????????? no permissions

Il faut, en root, faire :

adb kill-server
adb start-server

Ensuite, en user ordinaire, avec le téléphone branché au PC (mais le répertoire pas forcément monté), vous pouvez faire adb devices et adb install -r MonPaquet.apk.

dj jess

c’est juste super merci pour le tuyau c cool!!

[…] http://blog.rom1v.com/2010/01/installer-une-application-apk-sur-android-a-partir-dun-pc/ (Fr) […]

AZ

slt ls gars moi gsui sur microsoft seven..et gai un motorola MB200.comment faire??

[…] conteste, les deux billets qui amènent le plus d’internautes par Google concernent pluzz et apk. Et parfois ça ne doit pas les aider beaucoup : certains recherchent par exemple […]

Les commentaires sont fermés.