2012-11-30, 20:13:04
tromto написа:Първо, малко разяснения. Конструкторите на L7 (както и на още много по-нови телефони), са счели, че вградената в телефона памет за данни е повече от достатъчна и са у регистрирали като директория /mnt/sdcard.RemountSD 1.3 във 2-ри пост
В същото време, външната microSD карта е предвидена от същите тези консруктори САМО като памет за филми, музика, снимки, GPS карти и т.н. Затова и те, без да се задълбочават особено, са я регистрирали като /mnt/sdcard/external_sd - т.е., като поддиректория на вградената флаш памет.
Резултатът е, че при инсталация, програмите и игрите (както и кеша на по-големите игри), попадат по подразбиране в /mnt/sdcard и след това Move2SD и подобните просто няма къде да ги преместят - от гледна точка на логиката на Move2SD, програмите ВЕЧЕ се намират на SD картата.
Решението е външната карта да се монтира не като поддиректория на /mnt/sdcard, а да стане част от основната директория!
Руснаците от 4pda предлагаха две основни решения в тази насока. Първото е скрипт , който да прави mount на външната карта при всяко стартиране на телефона НА МЯСТОТО на вградената памет (т.е. губите вградената памет).
Второто е програмката Directory Bind , с която определени директории от external_sd (но НЕ и цялата карта), могат да се закачат към /mnt/sdcard. И двата метода работят "по принцип", но и двата имат "склонноста" да не преместват директориите, както се очаква, при рестартиране на телефона, а DirectoryBind - дори и при по-натоварена работа (вграденият TaskKiller убива процеса на DirectoryBind, а повторното му пускане не премества директориите автоматично.
Така или иначе, тъй като не разбирам много от Linux/Android се заех да намеря готова програмка, която да прави, но както трябва, едно нещо - да закача указана от мен директория към друга директория. И намерих!
Ето инструкциите:
0. Необходимо е да имате: телефон :rofl: , карта памет (желателно е Class 4 или 6), телефонът ТРЯБВА да е рутнат!!!
1. Като при всяка инсталация на отговорна програма - направете си архивно копие на вътрешната и външна карта памет. Може и един допълнителен архив на приложенията и данние с Titanium Backup
2. Свалете и инсталирайте приложението RemountSD v1.2
3. Стартирайте RemountSD и в полетата за преадресиране на директории напишете:
- в полето Original external SD location - пишем /mnt/sdcard/external_sd
- в полето Target external SD location - пишем /mnt/sdcard
4. Уверяваме се, че е поставена "чавка" пред []Enable Remount
5. Натискаме бутона [Remount now]
6. Рестартираме телефона. Чакаме системата да преиндексира мултимедийните файлове на картата.
7. Ползваме си със здраве!
Необходими пояснения:
1. След рестартирането може да се уверите, че програмата работи, като отидете в Settings > Storage. Сега системата трябва да показва, че имате Internal Storage с обем, равен на обема на ВЪНШНАТА карта памет (при мен, например, за 16GB карта, показва 14.8GB, както и трябва да бъде). Системата регистрира и карта с име SD Card, която е с НУЛЕВ обем. Не се плашете, това е нормално - просто аплетът на Settings > Storage не е предвиден да отчита обема памет в такава нестандартна ситуация.
2. Ако пък стартирате Settings > Apps, ще видите, че всички ваши инсталирани до момента приложения се намират във вградената флаш памет и обемът на тази памет се показва вярно (2.73GB)
3. ВАЖНО! Горната процедура, по подразбиране прави следното:
--- всички стари приложения/игри си остават във вградената памет.
--- всички новоинсталирани приложения/игри се инсталират във вградената памет
--- всички данни за програмите, кеш за игрите, снимки, клипове, документи и т.н. автоматично се преместват ВЪВ ВЪНШНАТА ПАМЕТ!
Т.е. - горният подход НЕ пренася програмите, а само данните към тях, но го прави:
а) автоматично (т.е. - не се налага допълнително използване на Move2SD или подобни);
б) надеждно (след една седмица ползване и десетина рестарта на телефона, външната карта винаги се монтира именно като /mnt/sdcard);
в) ползвате И вградената памет И външната карта. Лично аз смятам, че вградените и свободни 2.73GB са повече от достатъчни за инсталирането на програми - при следна големина на КОДА на една Android програма около 15MB, това ще стигне за повече от 200 програми (да напомня - само самите програми са на вградената карта - данните и кеша им отиват на външната карта).
Един прост тест:
- свалете от маркета играта Guerrilla Bob (посочвам нея, защото и играта и кешът към нея са относително малки по обем)
- инсталирайте я, но не я стартирайте.
- проверете в Settings > Apps - играта заема около 26MB от вградената памет
- проверете и обема свободна памет чрез Settings > Storage
- стартирайте играта - тя ще изтегли от маркета кеша си (допълнителните графични обекти и музика) и ще ги запише на телефона
- проверете отново в Setting > Apps - обемът на заетата вградена памет е непроменен
- проверете Settings > Storage - обемът на заетата памет се е увеличил с около 6.5MB
- изключете телефона, извадете microSD картата, поставете я в четец на карти и проверете дървото на директориите - трябва да видите директория /android/data/com.angrymobgames.guerrilalabob, с обем именно около 6.5MB
ВАЖНО #2: Ако свързвате телефона си с USB кабел с компютър в режим MST, то от компютъра в директориите на Internal Storage на телефона ще видите и папка /sdcard, която като че ли дублира информация от основната директория. В НИКАКЪВ СЛУЧАЙ не трийте каквото и да било там! Това е начинът, по който компютърът "вижда" вградената памет и ако изтриете нещо то може да премахнете програми и данни, записани във вградената памет.
Отговори на често задавани въпроси:
tromto написа:Най-очевидният признак, че програмата работи е, ако влезеш в System Settings > Storage - там трябва да имаш раздел INTERNAL STORAGE, който да е с размера на външната ти SD-карта (примерно, за карта 16GB ще показва, че имаш 15 и нещо GB). Най-долу пък трябва да имаш един ред SD CARD и НИЩО след него. Т.е. - от гледна точка на операционната система, след монтирането на SD-картата през RemountSD, тя става част от вътрешната памет и "изчезва", като външна карта.
За проблема със снимките, също е писано - просто трябва да се отвори приложението Camera и в опциите му да се каже, че ще записва в Internal Storage.
За проблема с музиката, също има цяла тема и пак е лесно - трябва да се създадат четири нови папки на SD-картата (т.е., картата е най-добре да се извади от телефона и да се работи през card reader) и веднага всичко се оправя.
Ако RemountSD е инсталирана коректно, няма и никакъв проблем да се вижда от компютъра. Ето снимка от екран от моя телефон:
Всички директории на SD-картата ми се виждат чудесно. Самата снимка направих, за да обясня инсталацията на играта Re-Volt, която има доста обемист кеш, който изрично исках да бъде на външната карта (и си е точно там!), а не във вътрешната памет.
Ако имате проблем с USB MassStorage пробвайте с махната отметка от USB Debugging. Ако не стане, вижте спойлера.
RemoundSD работи също и на Jelly Bean но настройките трябва да са:
Interne SD - /storage/Sdcard0
External SD - /sorage/Sdcard0/external_sd
Target external SD card - /storage/sdcard0
Samsung Galaxy A54 5G и LG V20/G8s