Jak na automatickou instalaci aplikací na SD kartu [návod]

62

Ačkoliv se telefony s operačním systémem Android neustále zdokonalují a vyvíjejí, zejména slabší a levnější přístroje (a logicky s tímto také ty nejrozšířenější na trhu) trpí z uživatelského hlediska mnoha neduhy ztěžující každodenní plnohodnotné nasazení. Mezi ty nejzásadnější patří kapacita vnitřní paměti, kterou využívají nainstalované aplikace. Kdo z nás nezažil hlášku „Nedostatek místa v úložišti“? A popravdě řečeno, k čemu je nám chytrý telefon, když jeho možností nevyužijeme. A to bez aplikací jde velice ztuha.

screen1

Existuje řada postupů, jak situaci řešit. Samotný systém se sice snaží přesouvat aplikace na paměťovou kartu, nic není ale automatické a nejednou musíme aplikace přesouvat aplikace ručně. Anebo můžeme využít „pomocníky“ v podobě různých variací na téma APP2SD dostupných v oficiálním Obchodě Play. Všechno to je ale takové nemastné, neslané řešení situace. Mnohdy jsou různé postupy závislé na právech ROOT, což ne každému uživateli vyhovuje. Následující návod nám nastaví automatickou instalaci jakýchkoliv aplikací na SD kartu. Bez nutnosti dalších zásahů a především čistým způsobem. Navíc není nutná jakákoliv záloha nebo reset telefonu po provedení postupu.

Jak na to

Ze stránek Android Developers je nutné stáhnout balíček SDK, který nám umožní komunikaci s telefonem prostřednictvím příkazů konzole adb. Potřebujeme také mít nainstalovány ovladače pro daný telefon na PC. Také je nutné mít povolené Ladění USB v menu telefonu (k nalezení v menu Nastavení -> Pro vývojáře -> Ladění USB), jinak nám počítač nebude s telefonem komunikovat.

  1. stažený balíček Android SDK rozbalíme a přesuneme se do složky sdk\platform-tools
  2. připojíme telefon k PC prostřednictvím kabelu, je nutné být připojen v režimu nabíjení (nikoliv jako USB mass storage)
  3. v průzkumníku ve složce platform-tools spustíme příkazový řádek (držíme klávesu Shift a v menu po kliku na pravé tlačítko myši vybereme možnost Zde otevřít příkazové okno)
  4. v příkazovém řádku zapíšeme adb devices, měl by se zobrazit připojený telefon
  5. pokračujeme příkazem adb shell
  6. nyní zapíšeme příkaz, který změní základní úložiště pro instalaci aplikací na SD kartu – pm setInstallLocation 2
  7. toť vše, kontrolu, zda-li úprava funguje, provedeme příkazem pm getInstallLocation
  8. pokud se zobrazí výpis 2 [external], úprava proběhla korektně a aplikace se budou instalovat automaticky na paměťovou kartu

Veškeré zapsané příkazy potvrzujeme klávesou Enter. Následující screen zobrazuje korektně provedený proces.

screen2

Výše uvedený návod funguje u většiny telefonů s OS Android, ne nutně však u všech. Pokud se postup podaří, telefon bude stažené aplikace automaticky instalovat na paměťovou kartu. Automaticky, bez požadavků na další zásah uživatele. A především bez nutnosti provedení ROOT či zavedení druhého oddílu na paměťové kartě.

 

  • BobBeesheq

    No jo. Co ale potom když chci z nainstalovaného programu použít widget. Je přeci známo, že když přesunu aplikaci na kartu nemohu použít widget.

  • ldx

    Z předchozího komentáře je patrné, že Root jako řešení nic nepřekoná. Mně se nejlépe osvědčila aplikace Link2SD, která umí jak automatické přesunutí na SD kartu, tak na dedikovaný Ext3/4 oddíl. Výhoda Ext je například i v tom, že má mnohem lepší správu místa na disku (téměř nulová fragmentace, menší wear leveling, výrazně menší objem obsazeného místa u malých souborů z důvodu menších bloků) a hlavně podpora widgetů, protože nalinkované soubory se jeví systemů jako interní. No a samozřejmě výkonnost Ext3/4 v porovnání s historickým FAT je taky někde jinde… A abych nezapomněl, každé přesunutí na SD kartu přes klasické App2SD znamená vytvoření loop-device oddílu, který odkrajuje část RAM a tím zpomaluje celý systém (významné případě velkého množství aplikací a pomalejšího CPU).

    Proto před koupí libovolného stroje bych se v prvé řadě zajímal, jestli je nebo není možný root.

    • Tomik

      čau mám sony xperia m dual sim a nejde mně ani ten váš Link2SD chce to po mně root prostě se mi tam ani nezobrazí ani u toho app2sd aby se to předělalo na sd card zkusím co tady dělá tenhle týpek snad to pujde 🙂

      • Tomik

        prostě to napíše link2sd nemohl získat root přístup. Pokud mate root práva ujistěte se ze jste dali allow nebo grant v potvrzovacím dialogu

        • TomasLP1

          jakej je to android? máš ho v záloze?

    • Kuca

      Ahoj, nevíte proč se mi po stisku „Přesunout na SD“ otevře list: Informace o aplikaci, kde mohu pouye vznutit ukončení nebo odinstalovat.

      Díky

  • HUdasp

    Řešení s pomocí rootu jsou samozřejmě nejlepší. Toto je alternativa pro ty, co rootovat nechtějí (nesmějí?) a zároveň si nechtějí do telefonu instalovat aplikační balast.

  • ToaQvetru

    Díky moc. Ani nevíte jak mi to pomůže! Ale chtěl by jsem se zeptat: jak potom nastavím ukládání zpátky do mobilu? Předem děkuji za odpověď. 🙂

    • Tomáš

      Myslím, že by to mělo být stejným postupem, jen místo „pm set-install-location 2“ použiješ „pm set-install-location 1“ Nejsem vývojář, ale pravděpodobně by to mohlo být ono.

  • Michal

    Zdravím, článek mi moc pomohl, děkuji. Jen bych dodal, že v aktuální verzi Android SDK, kterou jsem použil, jsou příkazy trochu jiné: pm set-install-location a pm get-install-location. Ještě jednou díky za článek.

  • Petr

    2 [external] mi to normálně vypíše a apky se stejně instalují jak se instalovaly

    • Jindra

      Také jsem toto skusil na HTC, musel jsem ovšem zapojit režim USB mass storage nikoliv nabíjení,pak vše proběhlo tak jak je popsáno v návodu.

  • Tomik

    mně to nemuže najít prostě devices nevím co to je za chujovinu proč vždy mně proč nesnáším cmd řádky většinou přes cmd něco nejde vždy připojit.

  • Guest

    this

    • Eduard Beňo

      V podstate ten istý problém. Mám Samsung Galaxy S2 plus. Dá sa mi pripojiť len ako mediálne zariadenie, alebo fotoaparát, ale nie len na nabíjanie. Možno to je dôvod, prečo nenájde zariadenie i keď ho v PC vidím, teda ovládač je funkčný. Mám 32GB kartu a chcem ju tam využiť. Poradí niekto čo s tým?

  • Salvinorin

    Mam lg optimus l7 II a hodí mi to tohle nevite proc ? nebo co s tim ?

    • Salvinorin

      kdyz tam napisu adb shell tak mi to vyhodi error:device not found

    • Michal Černý

      Je nutné nainstalovat ovladač k telefonu. Pravděpodobně jej v PC nainstalovaný nemáte, proto nelze najít/rozpoznat zařízení.

      • VendzeCz00

        já mam tento stejný problém a také pokaždé když zadám „pm setInstallLocation 2“ cmd mi napíše něco ve smyslu „příkaz pm neexistuje“. Nevíte co s tím ?
        Předem děkuji za odpověď.

  • Extremiista

    Napsalo mi to 2 [external] a stejne se to instaluje do telefonu nevite proc ?

  • pavel

    Trošku sem nepochopil krok 33

  • VendzeCz00

    Dobrý den, mám Sony Xperia E1, dělám vše podle návodu ale vždy když zadám „adb shell“ cmd mi nahlásí chybu „not found“. Nevíte čím by to mohlo být ?? Prosím o radu
    Předem děkuji !

  • Babekan Babykovic

    Pomůžete mi někdo prosím? Mam sony xperia M a když dám (v nové verzi SDK je příkaz místo pm setInstallLocation je pm set-install-location) pm set-install-location 2 tak mi to napíše “App2Sd is not supported in this device.Drop change request. Prosím o pomoc jsem bezradný.Předem děkuji.

  • Honza

    Díky moc! Jinak htc má příkaz s pomlčkama – pm set-install-location 2

  • Pavel

    zdravím vše dělám podle návodu a vždy mi to vypíše tuto chybu

    pm grant, revoke: these commands either grant or revoke permissions
    to applications. Only optional permissions the application has
    declared can be granted or revoked.

    pm get-install-location: returns the current install location.
    0 [auto]: Let system decide the best location
    1 [internal]: Install on internal device storage
    2 [external]: Install on external media

    pm set-install-location: changes the default install location.
    NOTE: this is only intended for debugging; using this can cause
    applications to break and other undersireable behavior.
    0 [auto]: Let system decide the best location
    1 [internal]: Install on internal device storage
    2 [external]: Install on external media

    pm trim-caches: trim cache files to reach the given free space.

    pm create-user: create a new user with the given USER_NAME,
    printing the new user identifier of the user.

    pm remove-user: remove the user with the given USER_IDENTIFIER,
    deleting all data associated with that user
    shell@111wv82_zxdg503qhd_cube:/ $

    • Jarda

      zdravím,vidím že asi taky vlastníte Cube 1 G503 ?Povedlo se vám změna uložiště nějak změnit ?

      • Vojta Hunacek

        nepovedlo 🙁

    • Petr

      Ahoj. Mám stejný problém. Podařilo se to ho vyřešit ?? Birel001@seznam.cz

  • Filip

    Mám takový problém, všechno jsem udělal jak je v návodu a teď mi to píše nedostatek místa v uložišti, když mám ještě něco kolem 5,5 GB volného. Nevíto co s tím ?

  • xxx

    ja mam sony xperia m2 a urobil som vsetko podla postupu a vzdy pise ze malo miesta v externom ukldaciom priestore a mam tam 14GB

    • Jeld@

      když tot oznámení otevřeš tak ti najede okno jestli chceš přesunout data na kartu SD protože Sony berou vnitřní uživatelskou paměť jako jako sdcard0, microSD jako sdcard1 a system jako emulated = i vnitřní paměť nazývá jako exerní, jestli si to chceš ověřit najdi si přes nějaký lepší filemanager(např.: ttc) do root/storage. Takže budeš muset nějaká data z telefonu přesunout na kartu

  • damagerr

    Zdravím. Strašně moc rád bych poděkoval autorovi tohoto návodu. Mam LG G3s, což je nový telefon. Z 8GB interní paměti se mi zobrazuje k dispozici pouze 4. Díky slavnymu kit katu nemůžu nic kopírovat na sd kartu. Tak jsem provedl root a přes spoustu různých appek se pokoušel si udělat v telefonu místo. Hodně jsem toho přesunul, ale například WoTB, které zabírá nějakých 2,8GB nešlo přesunout ani ručně, ani přes žádnou apk. Během 3 dnů, co jsem začal řešit problém s místem, jsem se diky tisícům různých for dozvěděl o androidu snad všechno

  • damagerr

    Nikde se mi nepodařilo najít něco, co by mi pomohlo. Az do teď. Tenhle návod, i když je 7z rok starej, můj problém vyřešil. A proto obrovské diky autorovi i ostatním, co se snažili pomoct. Díky 😉

  • Luboš

    Ahoj, tento návod skutečně bezvadně funguje – nebo spíše fungoval na androidu 2.3. gingerbread na mé staré Xperii mini pro. Nyní po zakoupení Huawei Honor 3C jsem se ho snažil znovu použít, ale při zadání povelu pm setInstallLocation 2 mi to nahlásilo chybu. Proto jsem hledal a našel toto. Od verze androidu 4.0 je nutné vepsat do příkazového řádku toto adb shell pm set-install-location 2. Vše je popsané zde: https://usmanafzal.wordpress.com/2012/12/01/use-adb-method-to-install-apps-or-move-installed-applications-to-sd-card-on-your-android-phone/. Jinak platí že je potřeba otevřít příkazový řádek ve složce sdkplatform-tools – v XP to kombinací Shiftu a pravého tlačítka nejde, proto je dobré použít například total comander, najít služku sdkplatform-tools a poté vepsat cmd a potvrdit enter. poté se již otevře příkazový řádek a pokračujete podle návodu. Nutné je také mít v pc ovládače na telefon a mít v telefonu povolené ladění USB – ale tohle vše si můžete přečíst nahoře. Musim říct, že to funguje bezvadně a například data od hry GTA San Andreas mohu mít na kartě a nezabírají místo v telefonu. Hra přesto funguje 🙂

  • Aneta Benková

    Zdravím, provedla jsem vše podle návodu, ale když jsem chtěla nainstalovat aplikaci, zobrazila se hláška „málo místa na externím úložišti“ (i když tam je volných 10 GB). Tak jsem tohle nastavení chtěla vrátit zpět, tedy na interní úložiště, všechno proběhlo v pořádku, ale při opětovném pokusu o stažení aplikace se stále ukazuje hláška „málo místa na externím úložišti“. Nevíte jak se toho zbavit?

    • Václav Palacký

      Taky jsem měl ten problém aniž bych toto použil. Pomohlo v nastavení smazat všechna data aplikací nebo úplně tovární nastavení.

    • Petr

      To mi píše taky a na SD mám 14 GB volného místa a k ničemu, když v mobilu je volných asi jen 400 MB a nenainstaluju už nic. Všechny pokusy marné. Na starém mobilu jsem lehce nbastavil kam chci data ukládat na chytrém mobilu to nejde, tak nevím co je na něm chytrého.

  • František Jílek

    Mam sony xperia M (C1905) po příkazu „pm set-install-location 2″ hází chybu “App2Sd is not supported in this device.Drop change request.“ prolezl jsem snad všechny diskuze co jsem našel ale bezvýsledně prosím poraďte děkuji 😉

    • Mathew

      přesně tak úplně to stejné absolutně … na tento telefon jsem zatím nenašel žádnou appku která by fungovala …

      • Pato

        tiež mám xperia M (C1905) a tiež som urobil všetko podla návodu, po getinstalllocation mi zobrazí riadne external 2 ako som chcel, ale aj tak píše nedostatok miesta na disku ked chcem stiahnut nejaku apku alebo hru..čiže predpokladam že tento model nestojí za nič..

  • Zdenek

    zdravím mam cube 1 g 503 android 4,4,1 a nejde vubec ukladat na kartu vubec nic a ten program me nejde :/ nevím co s tím :/ poradte Díky

  • Alan

    Zdravim potřeboval bych taky poradit jak nastavit Cube 1 g503. Dekuji za pomoc

  • Alča

    Prosííím, nemám v pc složku sdk 🙁 nevím co jsem udělala špatně

  • Alča

    když stáhnu do pc android sdk, už je rozbalený. nainstalovala jsem si ho, i java Kit, a nikde v pc nemám složku sdk, natož tools, takže jsem v prčicích 🙁

  • David

    jde to na 2.3.5 ?

    • TomasLP1

      jde to na každej

  • Karel

    Zdravím, peru se tady s manželky lenovem a328. Dodržený postup, tuším že problém bude s ovladači MT pro pc,
    po zapsání příkazu *adb devices* odpoví
    List of devices attached
    PNEIDQL7KZVGL7EY unauthorized
    ofiko stránky lenovo bez výsledků, ofiko suita není schopná se s MT spojit.
    Někdo nějaké nápady ? beru cokoliv (root mám jako poslední štaci) Díky

    • Igor

      v telefone nastav ladenie USB bez autorizacie
      Moznost pre vyvojarov …
      pokial nemas kolonku pre vyvojarov:
      Informace o telefone- 7x tukni na Cislo zostavy a si vyvojar potom ladenie USB a pod…

  • Tonda

    Jen namísto pm setInstallLocation mi fungovalo pm get-install-location 🙂 Díky moc

  • David

    Jaký přesně balíček si mám stáhnout? Nebo když Android studio nainstaluju, tak to taky funguje?

  • Jan Kufner

    Dnes jsem postup aplikoval se svým novým Aligator RX400. Postup má několik úskalí, ale s trpělivostí se lze dobrat konce. Proto pro méně zdatné uživatele několik rad k jednotlivým bodům.
    1/ stahujte opravdu jen balíček SDK (asi v polovině stránky) ne hned první odkaz – to je Android studio a to není vůbec nutné.
    2/ v mém případě zařízení nefungovalo, když se „jenom nabíjelo“. Ze 4 možností to byla myslím ta „přenos mediálních souborů“. Myslím, že to je odvislé od typu telefonu a verze androidu. Chce to zkoušet postupným zadáváním příkazu „adb device“ podle bodu 4. do doby, než příkazový řádek vypíše nějaké zařízení.
    3/ program SDK už doznal časem nějakých změn. Proto je potřeba jej spustit přes SDKmanager.exe a nechat dotáhnout druhý balíček s názvem „platform-tools“. Před tím doporučuji vytvořit na disku C: ručně adresář „SDK“ a do něho nakopírovat (rozbalit) celý obsah staženého souboru .zip.
    4/ pokud vám PC píše, že „adb není příkaz ….“ pak jste něco v předchozích krocích udělali špatně. Důležité je pravým myšítkem se současně podrženým SHIFTem (otevření příkazového řádku) klikat v průzkumníku ve chvíli, kdy jste v novém (dotaženém) adresáři „platform-tools“. (případně spustit příkazový řádek přes nabídku start zadáním „cmd“ a následně zadáním příkazu „cd C:/sdk/platform-tools/“.
    5/ Pokud už jste tady, máte vyhráno. Příkazy se v nových androidech píší s „-“ tedy např. „pm set-install-location 2“, obdobně pak „pm get-install-location“.

    Snad vám to trochu pomůže, já se s tím trápil několik hodin.

    • Marek Viktorín

      jaký sakra ZIP soubor vše je v EXE. Celý návod (nahoře uvedený „Zde otevřít příkazové okno“ no doprkna kde ZDE. v dnešní době by vubec nebyl špatný videonávod, než půlka nesmyslných bodů, které jsou kničemu…)

    • Radek

      Ahoj prosím o pomoc mám lenovo a328 a když v příkazovém řádku zadám adb devices tak mi to telefon nenajde už se tím trápím dva dny pomoooc prosím co mám dělat

    • Radek Urban

      Prosím o pomoc mám lenovo a328 a pořád se mi nedaří propojit PC a telefon když v příkazovém řádku zadám adb devices tak mi to nic nenajde moc prosím o radu děkuji

  • Patrik

    Mám sony Xperia M (C1905)…všechno jsem udelal podle návodu..po zadani prikazu get-install-location mi napsalo External 2, ale stejne když chci neco stáhnout tak napíše nedostatek místa..:-/..mám volných 14GB…kde je chyba???????

  • tomas

    Nemám Android mobil, ale prečítal som si všetky príspevky a nedámi nereagovať. Takže prosím nebuďte ako polovica ľudstva (leniví) a snažte sa. Stačí len čítať, netreba nič dvíhať ani kopať jamy krompačom. Keď ti nenájde mobil v PC tak asi treba doinštalovať ovládače/drivery,pozrieť kábel,vymeniť článok medzi klávesnicou a monitorom . A som si istý, že v každom mobile to fungovať nebude. Mám WP8.1 a tu to ide priamo v systéme nastaviť. To len tak na okraj.

  • Michaela Majerčáková

    Dobrý večer, mám takový problém…
    mám telefon Huawei ascend G6 a dost často mi to hlásí NEDOSTATEK MÍSTA V ULOŽIŠTI, dnes mě potěšil přítel a koupil mi micro sd kartu o velikosti 32 giga, jenže cokoliv nainstaluji, tak pouze do telefonu, pořád si říkám, že to bude jen nějaká blbůstka v nastavení ale zatím jsem nepřišla na to jaká, jsem už zoufalá, protože k čemu je mi 32 gigová paměťovka, když ji nemůžu využívat. Četla jsem různé diskuze, ale k ničemu jsem nedospěla :-/ asi budu za blbku, ale bylo by fajn, kdyby mi někdo poradil jak na to :-/ předem moc děkuji 😉

  • Monika

    Ahoj Miso, mela jsem stejny problem, stahla jsem si do pc aplikaci na ulozto app2SD a stahla na sd kartu fo mobilu. A hned vsez mobilu pomoci aplikace pretahla na kartu a uz vse funguje, zkus to taky jsem byla zoufala.

  • martin

    dobry den, potreboval bych trochu poradit stahl jsem sdk tools only (doufam ze to staci a nemusim stahovat all android studio packed) ale nevim kam to mam pak presunout 🙁 slozku sdkplatform-tools mam vytvorit nebo ji najdu nekde v telefonu ?

  • Petr

    Prosím dávejte zde návody pro obyčejné uživatele, ne pro profíky v programování, předem děkuji. 🙁

  • Stepan Ejem

    Dobrý den. Návod se super,ale mam dotázek. Řeší tento návod přesun na Externí sd kartu anebo pouze vnitřni. Podobných navodu je na netu sice hodně,ale všechny pak přesouvaji pouze na interni sd kartu. Což umoc neřesí.Aspon v mém pripade.Dekuji za případnou radu

  • Michalplyer Cz

    stáhl jsem si to, ale žádnou složku s tools jsem nenašel