Переместите приложение на SD-карту

Я в настоящее время запутался в том, какие моды использовать сейчас. Мой аппарат, кстати, Samsung Galaxy S3 I9300-International (рутирован Omega ROM 42.3 и ядром SiyahKernel v1.9.1). Причина, по которой я рутировал свой телефон, заключается в том, чтобы иметь возможность перемещать приложения на SD-карту. Мой выбор здесь:

  1. Связать каталог

  2. ExtSd2InternalSd

Я не знаю, что лучше использовать с точки зрения совместимости, даже на Android 4.2 JellyBean, потому что я слишком боюсь испортить свой телефон. Первый вариант был опубликован в 2011 году, а второй — в 2012. Я не знаю, что более стабильно для моего телефона. Надеюсь на ваше любезное предложение.

При всем уважении, из-за ваших опасений по поводу блокировки, мне было интересно, не могли бы вы рассказать, почему вы хотите использовать какое-либо решение Apps2SD, когда у вас есть 16 гигабайт встроенной памяти для использования?

Ответы (1)

Если мне будет позволено предложить один из предложенных вами вариантов, я предложу Link2SD .

С помощью Link2SD вы можете попробовать переместить/связать некритическое приложение на SD-карту и проверить, насколько хорошо оно работает. После перемещения или привязки попробуйте перезагрузить телефон (никаким способом, кроме перезагрузки, чтобы избежать разочарований) и посмотрите, нормально ли работает это перемещенное/привязанное некритическое приложение. Приняв такой подход, вы не доставите своему телефону серьезных неприятностей.

Поскольку ваш телефон рутирован и имеет собственное ядро, я предполагаю, что вы разбираетесь в этом. Если нет, вы всегда можете обратиться к этому пошаговому руководству .

Обновление и дополнительная информация

Есть два способа освободить внутреннюю память в Android.

  1. Перемещение приложений во внешнее хранилище. В Froyo (2.2–2.2.3, уровень API 8) появилась возможность выбора установки приложений на внешнюю карту. Это также позволило переместить существующие приложения во внешнее хранилище. Вот несколько моментов, на которые стоит обратить внимание:


    • Для переноса будущих установок приложений требуется только настройка . Его можно установить с помощью команд ADB .
    • Существует множество доступных приложений , которые позволяют пользователям перемещать любые существующие приложения на SD-карту, при условии, что эти приложения намеренно не помечены разработчиком как неперемещаемые. Системные приложения также нельзя перенести на SD-карту.
    • В любом случае внутренняя память не будет использоваться приложением полностью. Он будет потреблять несколько байтов, хотя это считается незначительным по сравнению со случаем, когда приложение вообще не перемещается/не устанавливается на внешнее хранилище.
  2. Связывание приложений с внешним хранилищем. Связывание полностью отличается от перемещения. Этот процесс перемещает файлы приложения на внешнюю карту и создает на их месте символическую ссылку во внутренней памяти. Поскольку ссылка является ссылкой на эти файлы, Android не жалуется на это. Это подробно описано на сайте Link2SD, который воспроизводится ниже:

В. В чем разница между «Переместить на SD-карту (собственно для Android)» и «Создать (символическую) ссылку» в Link2SD? Какой метод сохраняет наибольший объем внутренней памяти, каковы преимущества «связывания» перед «перемещением»? " наоборот?

Native apps2sd Начиная с Android 2.2 (Froyo) Google представила native apps2SD. Этот метод перемещает

  • apk-файл на Android 2.2
  • файлы apk + lib на Android 2.3+

в защищенную папку на SD-карте в основном разделе FAT.

Это самый простой метод, потому что он не требует от вас разделения вашей SD-карты и привилегий root.

Однако у него есть некоторые недостатки.

Первый недостаток заключается в том, что файлы приложений просто хранятся в основном разделе FAT SD-карты. Когда вы разрешаете USB-накопителю обмениваться файлами с вашим компьютером (или иным образом отключаете или удаляете внешнее хранилище), любое приложение, установленное на внешнем хранилище и работающее в данный момент, уничтожается. Система фактически перестает знать о приложении до тех пор, пока запоминающее устройство не будет отключено, а внешнее хранилище не будет перемонтировано на устройстве. Помимо уничтожения приложения и его недоступности для пользователя, это может привести к более серьезной поломке некоторых типов приложений.

Итак, второй недостаток заключается в том, что не все приложения можно перемещать с помощью собственного метода apps2sd по вышеуказанной причине. Чтобы приложение вело себя так, как ожидается, разработчик не должен разрешать установку приложения на внешнее хранилище, если оно использует какие-либо из следующих функций, из-за указанных последствий при отключении внешнего хранилища: виджеты, службы, будильник Службы, живые обои, живые папки, менеджеры учетных записей, адаптеры синхронизации, широковещательные приемники, прослушивающие сообщение «загрузка завершена».

Принудительное перемещение (требуется рут); Вы можете принудительно перенести приложения на SD-карту с помощью собственных приложений apps2SD, даже если приложение не поддерживает перемещение, как описано выше. Link2SD и некоторые другие приложения могут принудительно перемещать приложения, если у вас есть привилегии root. Но обратите внимание, что это может привести к поломке некоторых приложений, как описано выше.

Link2SD

Link2SD перемещает файлы apk + dex + lib приложения во второй раздел и создает символические ссылки в исходных местах внутренней памяти. Первое преимущество заключается в том, что он может освободить больше места во внутренней памяти по сравнению с собственным методом apps2sd, поскольку он также перемещает файл dex.

Второе преимущество Link2Sd перед родными apps2sd заключается в том, что создавая симлинки, вы получаете Android, предполагая, что эти приложения установлены во внутреннюю память, хотя на самом деле все файлы находятся на SD. Поэтому вы можете связать все приложения с SD-картой; виджеты, сервисы, живые обои и т. д., все они без проблем будут работать с SD-карты.

Третье преимущество заключается в том, что даже когда вы подключаете SD-карту к компьютеру, все ваши связанные приложения продолжают работать! Потому что Android отключает первый раздел FAT для обмена файлами с вашим компьютером, но второй раздел остается подключенным. Link2SD позволяет вам запускать все ваши «приложения SD», даже если они подключены к вашему компьютеру как дисковый накопитель.

А недостатком является то, что, очевидно, для этого требуются привилегии root и второй раздел на вашей SD-карте. Он не работает «из коробки», как нативный apps2sd, вам нужно рутировать свое устройство и самостоятельно создать второй раздел на SD-карте.

Является ли Link2SD механизмом перемещения по умолчанию в Android 2.2+?
@NoBugs, Link2SD - это приложение, а не часть Android. Начиная с Android 2.3, было введено перемещение приложения на SD-карту. Однако привязка по аналогии с перемещением доступна только через Link2SD и подобные другие приложения.
Вы имеете в виду 2.2 и выше? android-developers.blogspot.com/2010/05/…
Моя ошибка @NoBugs, документация Android SDK ясно говорит, что Beginning with API Level 8, you can allow your application to be installed on the external storage (for example, the device's SD card).версии Android от 2.2 до 2.2.3 (Froyo) относятся к уровню API 8, как сказано в Википедии .