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

8

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

  1. DirectoryBind

  2. ExtSd2InternalSd

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

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

Ответы:

11

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

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

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

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

В Android есть два способа освобождения внутренней памяти.

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

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

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

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

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

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

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

Это имеет некоторые недостатки, хотя.

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

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

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

Link2SD

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

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

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

И недостатком является то, что, очевидно, это требует привилегий суперпользователя и второго раздела на вашей SD-карте. Он не работает "из коробки" как родной apps2sd, вам нужно рутировать ваше устройство и самостоятельно создать второй раздел на вашей SD-карте.

Нарайанан
источник
Является ли Link2SD механизмом перемещения по умолчанию в Android 2.2+?
NoBugs
@ NoBugs, Link2SD это приложение, а не часть Android. Начиная с Android 2.3, было запущено перемещение приложения на SD-карту. Однако привязка аналогична перемещению и доступна через Link2SD и другие подобные приложения.
Нараянан
Вы имеете в виду 2,2 года? android-developers.blogspot.com/2010/05/…
NoBugs
Моя ошибка @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 Level 8, как сказано в Википедии
Нараянан