Tikky

(presque) toutes les applis sur la SD sans être root

Recommended Posts

Effectué à l'instant sur mon Desire orange, sous froyo 2.2.

On part sur les base de la création d'une goldcard c'est à dire HTC Sync installé ansi que le sdk android.

On connecte le téléphone sous HTCSync et on ouvre une invite DOS. A coups de CD.. et de CD on arrive dans le dossier "tools" du sdk et on lance la commande suivante.

adb shell pm setInstallLocation 2

On attends d'avoir l'invite à nouveau, c'est fini....Les applis dans paramètres->applications->gérer les applications n'ont plus la case grisée pour le transfert vers la SD.

ATTENTION: n'essayez pas de déplacer des applications system, des widgets ou autre services. Je reprends l'essentiel du lien donné plus bas par flying

Applications That Should NOT Install on External Storage

When the user enables USB mass storage to share files with their computer (or otherwise unmounts or removes the external storage), any application installed on the external storage and currently running is killed. The system effectively becomes unaware of the application until mass storage is disabled and the external storage is remounted on the device. Besides killing the application and making it unavailable to the user, this can break some types of applications in a more serious way. In order for your application to consistently behave as expected, you should not allow your application to be installed on the external storage if it uses any of the following features, due to the cited consequences when the external storage is unmounted:

Services

Your running Service will be killed and will not be restarted when external storage is remounted. You can, however, register for the ACTION_EXTERNAL_APPLICATIONS_AVAILABLE broadcast Intent, which will notify your application when applications installed on external storage have become available to the system again. At which time, you can restart your Service.

Alarm Services

Your alarms registered with AlarmManager will be cancelled. You must manually re-register any alarms when external storage is remounted.

Input Method Engines

Your IME will be replaced by the default IME. When external storage is remounted, the user can open system settings to enable your IME again.

Live Wallpapers

Your running Live Wallpaper will be replaced by the default Live Wallpaper. When external storage is remounted, the user can select your Live Wallpaper again.

Live Folders

Your Live Folder will be removed from the home screen. When external storage is remounted, the user can add your Live Folder to the home screen again.

App Widgets

Your App Widget will be removed from the home screen. When external storage is remounted, your App Widget will not be available for the user to select until the system resets the home application (usually not until a system reboot).

Account Managers

Your accounts created with AccountManager will disappear until external storage is remounted.

Sync Adapters

Your AbstractThreadedSyncAdapter and all its sync functionality will not work until external storage is remounted.

Device Administrators

Your DeviceAdminReceiver and all its admin capabilities will be disabled, which can have unforeseeable consequences for the device functionality, which may persist after external storage is remounted.

If your application uses any of the features listed above, you should not allow your application to install on external storage. By default, the system will not allow your application to install on the external storage, so you don't need to worry about your existing applications. However, if you're certain that your application should never be installed on the external storage, then you should make this clear by declaring android:installLocation with a value of "internalOnly". Though this does not change the default behavior, it explicitly states that your application should only be installed on the internal storage and serves as a reminder to you and other developers that this decision has been made.

On doit pouvoir déplacer 50 à 70% des applications. En fait, une partie de chaque application se déplace vers la SD mais le gain en mémoire interne est enorme.

Source: http://forum.xda-developers.com/showthread.php?t=742379

Edited by Tikky

Share this post


Link to post
Share on other sites

Merci Tikky, et Thanks Xda , j'lavais pas vu celui-ci :) .

Ca fonctionne nickel, je ne comprends pas encore bien le processus , ni pourquoi il n'est pas effectif depuis le terminal, mais ça tourne .

Share this post


Link to post
Share on other sites

gé-ni-al-le a épinglé sa marche du tonnerre je me demande même comment ils ont découvert cette ligne de commande

Share this post


Link to post
Share on other sites

Merci je testerai dans quelques temps, en attendant les retours par exemple si une appli installée sur la carte est mise à jour si ça bug ou pas.

Share this post


Link to post
Share on other sites
Merci je testerai dans quelques temps, en attendant les retours par exemple si une appli installée sur la carte est mise à jour si ça bug ou pas.

J'ai fait. Ca bug pas. C'est un peu normal dans la mesure ou c'est Android lui même qui trie les données à envoyer sur la SD et celles à garder.

Share this post


Link to post
Share on other sites

Arf tu me tentes petit coquinou!!!!!!

Et pour les live wallpapers c'est possible? Parce qu'ils sont particulièrement gourmands en place.

Share this post


Link to post
Share on other sites

Moi jai un ti bug il me dit que les applications ne sont pas installées sur le téléphone...

Une solution peut être ?

Share this post


Link to post
Share on other sites

A coup de ds????

Est ce que on peut refaire un post qui explique clairement la marche a suivre et les pre requis? (Gold card etc..).

Share this post


Link to post
Share on other sites

Si pas envie d'ouvrir une fenetre de commande et d'acceder au repertoire tools a grand renfort de 'cd nomrepertoire', acces au repertoire 'tools' du sdk par l'explorer et clic droit avec la touche majuscule enfoncee et 'ouvrir une fenetre de commandes ici', ensuite y a plus qu'a taper la commande indiquee "adb shell pm setInstallLocation 2"...

0 - positionement auto des applis

1 - positionement en interne

2 - positionement sur la SD

Les prerequis n'ont pas l'air d'etre super complexes, hormis le fait d'etre avec le yahourt glace (a verifier peut etre pour les roms custos), c'est juste un parametre a configurer suite au nouveau systeme...

Il y a pêut etre la possibilite de voir avec cette commande et une option (autre que 0, 1 ou 2) specifique l'etat de ce parametre.

Edit : Pas d'autres option pour 'setInstallLocation', ce pourrait etre sympa de ne rien mettre et que ca indique l'etat...

Re-edit : Tikky, met en gras (voir en gras et en rouge) le 'Attention...' dans ton premier post, avant que certains ne deplacent n'importe quoi, un apercu de ce qu'il faut eviter de deplacer dans la doc du sdk android a l'adresse : http://developer.android.com/guide/appendix/install-location.html

Et peut etre d'indiquer que le deplacement de certaine chose sur la SD, feront qu'en cas de connexion en tant que lecteur de disque, ne seront plus accessibles le temps de cette connexion.

Edited by flying

Share this post


Link to post
Share on other sites

impec fonctionne tres bien chez sous la ROm officielle avec Desire de chez bouygues .

Il ya juste MAP 4.4.0 où la case reste grisée , sinon tous le reste a été deplacé enfin une partie seulement ,

Fait sous windows 7 pro (32bits)

Merci pour l'info !

La methode de Flying avec la touche MAJ sur le repertoire Tools pour accerder diretement a la fenetre commande ms dos est la plus simple .

Edited by skippy68220

Share this post


Link to post
Share on other sites

Merci vraiment beaucoup, c'est la grande classe cette option, toutes les nouvelles applications sont automatiquement installées sur la carte sd, que ce soit par le market ou un fichier apk.

Bon, il est vrai qu'on gagne facilement 50% de place sur pas mal d'applications, mais je suis assez déçu du résultat avec ScummVM par exemple, on passe de 27Mo à 20Mo sur la mémoire interne. Visiblement sur xda, il semblerait que Navigon fasse aussi partie des mauvais élèves à ce niveau.

A rappeler aussi qu'avec cette méthode, toute nouvelle application s'installe sur la carte sd, même les claviers alternatifs ou widgets, qu'il faudra donc prendre soin de replacer sur la mémoire interne du téléphone pour éviter toute déconvenue (la carte sd étant montée tardivement au démarrage du tel). Ne placer en gros que des applications que ne nécessitent pas d'être lancés au démarrage.

Share this post


Link to post
Share on other sites

Ca fonctionne également chez moi, Rom officielle / Bouygues, j'attends la prochaine mise d'une application transférée sur la SD pour être "sur"...

Merci pour l'info en tout cas.

Share this post


Link to post
Share on other sites

Bonne nouvelle.

Petite question tout de même, il n'y a vraiment pas de risques de disfonctionnement après cette manip?

Je veux être rassuré avant de lancer la modif.

Cordialement

Share this post


Link to post
Share on other sites

Bonjour,

J'ai encore une autre méthode :

Téléchargez l'application Terminal sur le market et tapez directement la commande

pm setInstallLocation 2

Vous pouvez ainsi le faire sans pc et le changer à tout moment en tapant la même commande (terminer par 0 pour mettre en auto et finir par 1 pour forcer sur la mémoire du téléphone).

Sinon pour les réfractaires à la ligne de commande Windows il est aussi possible de faire un raccourci du programme adb.exe (clique droit raccourci) puis de modifier la cible en ajoutant les commandes (pm set...) après le "...\adb.exe" le valider et exécuter ça fait la même chose sauf que ça garde la commande ce qui permet de se faire un raccourci pour les 3 modes et de passer de l'un à l'autre en 1 clic. Petit bémol la fenetre se ferme sans afficher si la commande est bien passée avec cette méthode.

J'espere être assez clair en espérant que ça vous facilite la manœuvre.

À noter : marche très bien sans être en root

Cordialement.

Share this post


Link to post
Share on other sites

Lolosoft@ tu peu préciser quelle et le nom de l'application sur le market parce que je n 'ai trouvé aucune appqui s appel Terminal mais j ai trouvé Android terminal mais quand je tape la commande que ta donné l application plante

Share this post


Link to post
Share on other sites
Lolosoft@ tu peu préciser quelle et le nom de l'application sur le market...

Bonjour rhassi94 personnellement j'utilise Android terminal emulator sans aucun soucis :

market://details?id=jackpal.androidterm

Cordialement

Edited by lolosoft

Share this post


Link to post
Share on other sites

Encore une question :

Peut-on passer en 2 le temps de déplacer quelques grosses applications, puis revenir en auto, histoire de ne pas risquer d'oublier de déplacer tel ou tel truc important ?

Dans ce cas les applis déplacées continueront-elles à fonctionner et à se mettre à jour sur la SD ?

Merci

Edited by arnof

Share this post


Link to post
Share on other sites

Bonne question,

On peut tout à fait rechanger de mode ensuite par contre pour les mises à jour...

tout dépend comment va réagir le mode auto.

Lors de la mise à jour ça recrée une install mais le système doit surement détecter ou sont les anciens fichiers et les remettre au même endroit, à essayer donc.

Edited by lolosoft

Share this post


Link to post
Share on other sites

Bonjour,

Je viens d'installer Android Terminal, de taper la ligne de commande avec plein d'espoir...

Il me met Killed puis la ligne de com, et rien ne se déplace...

j'ai merdé ou? :D

Share this post


Link to post
Share on other sites

Oups vraiment désolé,

Je pensais que la commande passait mais j'ai la même chose. Je l'avais fait sur pc avant donc je n'avais pas le problème mais effectivement ma solution par terminal ne fonctionne pas la commande renvoi bien un [1] killed et ne change rien c'est vraiment dommage. Les accès doivent être insuffisant.

Encore désolé pour les faux espoirs.

Edited by lolosoft

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.