Как превратить MicroSD карту во внутреннюю память?

Содержание

Что произойдет, если извлечь карту microsd?

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

Если вы потеряете SD-карту или сломаете её, ваши данные будут потеряны. Поскольку они зашифрованы как внутренняя память, вы можете не надеяться на восстановление данных. Вместо этого применяйте регулярное резервное копирование. Так что смело получайте удовольствие от дешевого расширения памяти вашего смартфона Marshmallow.

Что такое external storage и где находится

Теперь рассмотрим, что такое External Storage в Android. Это внешнее хранилище, куда сохраняются пользовательские данные, найти которые на телефоне несложно. Папка Storage будет располагаться в Android/data, а в данном каталоге многочисленные подпапки с именами приложений (расположение внешней памяти определяет ОС, но не пользователь).

Здесь могут находиться различные файлы, например, музыка, фото, видео и другой контент, доступный пользователю и приложениям. То есть расположение External Storage может быть в любом месте в памяти телефона или на съёмном носителе, а под внешним хранилищем подразумевается не только SD-карта, а и часть встроенной памяти Android-устройства (отличие от внутренней – в защищённости).

Таким образом, есть два типа внешних накопителей:

Управление данными внешнего вместилища осуществляется посредством имеющихся инструментов операционной системы или установленным менеджером файлов, можно использовать сторонний софт. Пользователю доступны любые манипуляции с файлами, их можно переименовывать, копировать, передавать, удалять и т. д.

Общее внешнее хранилище для сохранения данных, общих для разных приложений лежит в корне внешнего раздела (рядом с папкой Android), например, папка DCIM для фотоснимков с камеры смартфона. Эти файлы останутся на месте, если вы удалили приложение, но при необходимости можно выполнить действия по их удалению вручную.

Внешнее вместилище, используемое для сохранения файлов, поддерживается каждым Android-устройством, его объём отличается в зависимости от модели девайса, а эта информация указывается в характеристиках.

И внутреннее, и внешнее хранилища выполняют задачу хранения временных или постоянных данных, при этом разделы отличаются уровнем доступа к информации.

Что такое internal storage и где находится

Internal Storage в Android, как и следует из названия, – это внутренняя память устройства. Она есть у каждого девайса независимо от того, поддерживаются ли карты памяти. Внутреннее хранилище является защищённой областью встроенной памяти, где может безопасно храниться пользовательская информация. Папка Internal Storage в Android находится в системном разделе /data.

Пользователи часто ошибочно считают, что внутренняя память и встроенная – одно и то же, но это не так. Android SDK определяет внутреннее хранилище как отдельный уникальный каталог, где программа будет размещать свои файлы. Если приложение хранит информацию во встроенной памяти, другой софт, равно как и пользователь, не будут иметь доступ к этим данным, за исключением намеренного использования таких привилегий после получения на устройстве root-прав.

ВАЖНО. Стоит помнить, что ограничение доступа реализовано в Android не просто так, такие меры приняты, чтобы предупредить нарушение функций девайса в результате изменения, удаления системного каталога по неосторожности или незнанию пользователя.

Удаление программы с устройства подразумевает и автоматическое очищение системой внутренней памяти от связанных файлов, которые в отсутствии данного софта не нужны, что позволяет Android не накапливать лишний мусор.

Обычно найти папку можно в папке data/data/your.application.package.appname/someDirectory/

ВНИМАНИЕ. Конкретное расположение, где будут размещены файлы на Android-устройстве, может отличаться в зависимости от модели девайса и версии ОС, поэтому не нужно использовать заданные пути.

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

СОВЕТ. Хотя приложения и устанавливаются по умолчанию в Internal Storage, в файле манифеста можно указать атрибут android:installLocation, после чего программу можно установить и на External Storage. Эта возможность выручает, когда файл слишком большой.

Что делать, если ваш телефон не позволяет вам форматировать microsd в качестве внутренней памяти

Некоторые производители смартфонов отключают обычную функцию Android для форматирования microSD в качестве внутренней памяти, скрывая возможность сделать это с вашего телефона. Но все же можно активировать данный процесс с помощью ПК, не требуя никаких привилегий root.

Точные шаги варьируются в зависимости от версии Android вашего телефона. Этот метод хорошо cработал с Android 6.0 Marshmallow и Android 8.0 Oreo, однако мы столкнулись с трудностями на Android Nougat.

Access files from code or libraries that use direct file paths

Incorporate logic based on the Android versions that your app runs on.

Additional resources

For more information about Android storage, view the following materials:

For phones using android 6.0 marshmallow

When a MicroSD card is formatted as internal memory, apps can be fully stored on it. This means that if you download applications with a total size of 2 GB, then there should be 2 GB of space taken up on the SD card. If, however, the MicroSD card is only formatted as a backup memory, this is not the case, as PLATYPUS_DIARRHEA writes on Reddit.

Just because the menu option is invisible doesn’t mean that it doesn’t work. A few days after the Reddit post, a command-line prompt became known, with which you could also format MicroSD cards as internal memory on the Galaxy S7. We have successfully tested the instructions with the Samsung Galaxy S7, the Sony Xperia Z5, and the LG G4, while running Android 6.0 Marshmallow.

Больше про Хуавей:  Инструкция по смене IMEI в 3G 4G USB модеме Huawei и использовании тарифов для Планшета —

All three smartphones run on Android 6.0 Marshmallow and have a slot for MicroSD cards. In addition, the menu option for formatting the MicroSD card as internal memory is missing. The entry is only available on HTC One A9 and on Motorola in all Moto smartphones.

Why Samsung, LG, and Sony do not show us this menu option escapes me. I connected each of the three smartphones to the computer, and each had one MicroSD card inside.

Then I typed into the ADB tools the command-line commands that Paul O’Brien described in his blog post. As soon as you have the command line window open and the smartphone connected, you can enter the first command:

Now the command line is ready for you to issue system commands to your smartphone. In this case, we want to format the SD card or a part of its memory as internal memory. Even if Sony, Samsung, and LG deny us the possibility via the UI, we can still transfer the command to the smartphone as a console command. First, however, we need the ID of the SD card. You will find it with the following command:

In my case, the disk is called 179.64. For you, perhaps, it is different. Note the exact identifier. In the next command, we will format and partition the MicroSD card. Your content will be deleted. If important files are on the card, copy them to another disk.

  • sm partition disk: 179,64 private

The operation takes several seconds or minutes, depending on the capacity of the memory card. If you want to use a certain percentage so that it can be read by other devices, you must exclude it from the private partition. The 50:50 partitioning command looks like this:

  • sm partition disk: 179,64 mixed 50

This is the end of Paul O’Brien’s guide, but not the end of the work. If you now want to use the adopted memory as such, you must also migrate apps and data. This can be done through the storage section of your Android settings menu. Tap the MicroSD card, then move to the top right of the menu and click on Move data. You cannot select this menu item before partitioning.

How to use a microsd card as internal storage on android

As of 2021, adoptable storage is not a very sought-after feature even on low-end Android smartphones because most of them have a decent amount of internal storage already.  For the purpose of this article, I tried several handsets running Android 10/Android 11 — only to come out disappointed.

In fact, I was almost convinced that newer versions of Android do not support this feature in 2021. That was until I got hold of a smartphone from a close friend made by Indian smartphone maker Micromax. The handset, known as Micromax IN Note 1, is fairly new and was released in late 2020. It runs Android 10 and, surprisingly, supports the adoptable storage feature — in 2021!

When I inserted a MicroSD card into the slot, the phone immediately prompted me to ask how I wanted to use this card. And this is what you should expect to happen when you insert a card into a phone that supports adoptable storage.

If your app targets android 10

Opt out of scoped storage to make it easier to
maintain your app’s behavior across Android versions.

Maintain access to the legacy storage location for data migration

Your app needs to maintain access to the legacy storage location in order to
migrate any app files to locations that are accessible with scoped storage. The
approach you should use depends on your app’s target API level.

Migrate app data

When your app is ready to migrate, use the following approach:

  1. Target Android 10 or lower.
  2. Opt out of scoped storage so that
    your app has access to the files that you need to migrate.
  3. Deploy code that uses the File API to move files from their
    current location under /sdcard/ to a location that’s accessible
    with scoped storage:

    1. Move any private app files to the directory that is returned by the
      getExternalFilesDir()
      method.
    2. Move any shared non-media files to an app-dedicated subdirectory of
      the Downloads/ directory.
  4. Remove your app’s legacy storage directories from the
    /sdcard/ directory.

Migrate existing files from a legacy storage location

A directory is considered a legacy storage location if it isn’t an
app-specific directory or a public shared directory. If your app creates or
consumes files in a legacy storage location, we recommend that you migrate your
app’s files to locations that are accessible with scoped storage and make any
necessary app changes to work with files in scoped storage.

Not every app supported adoptable storage

The adoptable feature came with a major caveat.

App developers were required to manually enable this feature on their apps using the android:installLocation attribute. And many app developers chose not to do it — mainly because of the aforementioned performance issues. WhatsApp, for example, which was notorious for clogging the internal storage on phones with its large database files and multimedia folders, never came down to supporting adoptable storage.

Opt out in your production app

If your app targets Android 10 (API level 29) or lower, you can temporarily opt
out of scoped storage in your production app. If you target
Android 10, however, you need to set the value of
requestLegacyExternalStorage to true in your app’s manifest file:

Opt out in your tests

On Android 10 (API level 29) and higher, your app’s tests run in a storage
sandbox by default. This sandbox prevents your app from accessing files outside
of the app-specific directory and publicly-shared directories.

If a test outputs files for the host—such as screenshots, debugging data,
coverage data, or performance metrics—you can write these files to global
directories. To do so, add the following flag to the relevant harness that
invokes am instrument:

-e no-isolated-storage 1

This flag affects all behavior of the instrumented test case, and it affects all
invoked test code. Therefore, when you use this flag, you can’t validate your
app’s compatibility with scoped storage. For test output, it’s better to instead
write to app-scoped storage that’s readable by the shell.

Performance issues

While Samsung might have had other reasons to disable the adoptable storage feature on their devices, the company wasn’t lying when it said it came with inherent performance issues.

Больше про Хуавей:  Справочная: конфликт США и Huawei — хронология и причины / Хабр

Most SD cards of the time were much slower (in terms of their read/write speed) when compared to the internal flash module. This meant that every single task that involved the adopted MicroSD card took longer to execute. And with most of the devices that had this feature already falling into the low-end category, it only made the phones slower than they already were.

In essence, a solution that was intended to solve a major irritant (that of low internal storage) only ended up creating another problem (that of slower performance).

Problems with system updates and nougat

Some readers have reported difficulties when installing system updates from Android 6 after using the methods above. The update to Android 7.0 Nougat specifically doesn’t seem possible with the manually partitioned MicroSD cards, as described below. Our test devices with Android 7.0 Nougat do not even respond to the console commands shown below.

In the absence of documentation on the net, we can therefore only advise you to reverse the steps described below before a system update. Back up photos or music on your computer or in the cloud and free up as much memory on the SD card and smartphone as you can.

Uninstall unnecessary apps and migrate your data back into the internal memory. Then format the MicroSD card as removable media. Only then it is safe to install an Android update.

We have finally come to the end of this article. Do let us know what you think of adoptable storage. Have you managed to use this feature on your phone? 

Running on android 10

If your app targets Android 10 (API level 29), opt-out of scoped
storage and continue using the approach for Android 9
and lower to perform this operation.

Running on android 11

Use this approach:

  1. Use the scoped storage model.
  2. Target Android 10 (API level 29) or lower.
  3. Declare the
    WRITE_EXTERNAL_STORAGE
    permission.
  4. Perform one of the following types of access:

Running on android 9 or lower

Use this approach:

  1. Following the best practices outlined in Request App Permissions,
    request the WRITE_EXTERNAL_STORAGE
    permission.
  2. Use the MediaStore API to modify
    or delete the media files.

Running on android 11

Use this approach:

Show images or videos from a particular folder

Use this approach:

  1. Following the best practices outlined in Request App Permissions,
    request the READ_EXTERNAL_STORAGE
    permission.
  2. Retrieve media files based on the value of
    MediaColumns.DATA,
    which contains the absolute filesystem path to the media item on disk.

What is adoptable storage?

First things first, adoptable storage lets you use microSD cards as internal storage on Android smartphones. But what was the need for this feature, and is it even relevant today? That’s what we intend to find out. Let’s start with a bit of history to really get to the crux of the matter.

Around 2022-14, as Android smartphones exploded in popularity — especially in emerging markets like India, South East Asia, and China — there was a surge in demand for lower-priced, entry-level smartphones. Consumers who purchased these phones soon had to contend with a major irritant: low internal storage.

If you recall, entry-level smartphones of the time only came with 4GB or 8GB of storage. With apps getting increasingly bigger in terms of file sizes, and most of these apps being installable only on the internal storage, these phones were notorious for throwing up low internal storage warning messages.

This prompted Google to introduce a feature called adoptable storage with Android 6.0 Marshmallow. The idea seemed ingenious at the time. With a majority of these low-end phones featuring a MicroSD card slot, adoptable storage did exactly what it said. It «adopts» the external storage and formats it in a way that behaves like internal storage.

What to do if your phone doesn’t allow you to format microsd as internal memory

Some unhelpful smartphone manufacturers disable Android’s default function to format microSD as internal memory by hiding the option from your phone. However, it’s still possible to activate this using a PC, no root or special privileges are required.

The exact steps vary depending on the Android version of your phone. This technique worked well with Android 6.0 Marshmallow and Android 8.0 Oreo, however, we encountered difficulties working with Android Nougat.

Write to files on secondary storage volumes

Secondary storage volumes include SD cards. You can access information about a
given storage volume using the
StorageVolume class.

Incorporate logic based on the Android version that your app runs on.

Безопасное удаление внутренней разбитой sd-карты

Чтобы безопасно извлечь SD-карту со смартфона, вы должны отменить описанный выше процесс. Поскольку вашего места для хранения во внутренней памяти, вероятно, недостаточно, сначала нужно перенести фото и другие данные на иное хранилище, например в жесткий диск вашего ПК.

Затем вернитесь к настройкам «Хранилище и USB-накопители» и нажмите «Переместить данные во внутреннюю память» в меню. Затем отформатируйте SD-карту, как внешнюю память. Выполните оба действия (резервное копирование и форматирование), чтобы ваши данные не могли быть утеряны, и вы сможете использовать SD-карту с другими устройствами.

В чем подвох?

Карты MicroSD работают не так быстро, как встроенная память смартфона. Поэтому не тратьте деньги на более дешевые, а вместо этого покупайте себе карты памяти с разумной пропускной способностью чтения. Extreme Pro и Extreme Plus MicroSD от Sandisk оказались, по нашему мнению, лучшими по соотношению цена/качество.

Интересно, что только LG G4 смог правильно прочитать расширенную память. Samsung показал неестественно большое количество занятой памяти, а память Sony была даже отрицательной. Тем не менее, у нас не было никаких осложнений, и даже когда мы были подключены к компьютеру, мы смогли получить доступ ко всем нашим данным должным образом, хотя мы могли видеть только общую, а не конкретную часть памяти. Трудности возникли только в случае обновления системы (см. выше).

Для телефонов, использующих android 6.0 marshmallow

Когда карта MicroSD отформатирована как внутренняя память, приложения могут быть полностью сохранены на ней. Это означает, что если вы загружаете приложение общим размером 2 ГБ, тогда на SD-карте должно быть 2 ГБ места. Если, однако, карта MicroSD отформатирована только как резервная — памяти не хватит, как пишет PLATYPUS_DIARRHEA в Reddit.

Просто потому, что параметр меню невидим, это не значит, что он не работает. Через несколько дней после публикации в Reddit стало известно, что в командной строке можно также отформатировать карту MicroSD как внутреннюю память в Galaxy S7. Мы успешно протестировали инструкции с Samsung Galaxy S7, Sony Xperia Z5 и LG G4, работая под управлением Android 6.0 Marshmallow.

Все три смартфона работают с завода или после обновления с Android 6.0 Marshmallow и имеют слот для карт MicroSD. Кроме того, отсутствует опция меню для форматирования карты MicroSD как внутренней памяти. Функция доступна только в HTC One A9 и в Motorola на всех смартфонах Moto.

Больше про Хуавей:  Как очистить память Андроида, если она забита невидимыми файлами

Почему Samsung, LG и Sony спрятали этот пункт? Я подключил каждый из трех смартфонов к компьютеру, и каждый из них имел одну карту MicroSD.

Затем я ввел в командную строку ADB команды, описанные Полом О’Брайеном в своем блоге. Как только вы откроете окно командной строки и подключите смартфон, вы можете ввести первую команду:

Теперь командная строка готова к запуску системных команд на вашем смартфоне. В этом случае мы хотим отформатировать SD-карту или её часть в качестве внутренней памяти. Даже если Sony, Samsung и LG откажут нам в такой возможности в графическом интерфейсе пользователя, мы все равно можем выполнить эту команду через консоль. Сначала, однако, нам нужен идентификатор SD-карты. Узнать его можно следующей командой:

В моем случае диск называется 179.64 . Возможно, у вас он другой. Обратите внимание на точный идентификатор. В следующей команде мы будем форматировать и разбивать карту MicroSD. Ваш контент будет удален. Если на карте есть важные файлы, скопируйте их на другой диск или в компьютер. Если вы хотите постоянно держать карту MicroSD в смартфоне, вы можете теперь разбить всю вашу память. Для этого введите:

  • sm partition disk:179,64 private

Операция занимает несколько секунд или минут, в зависимости от емкости карты памяти. Если вы хотите использовать лишь определенный процент, чтобы его могли читать другие устройства, вы должны исключить его из личного раздела. Команда разделения 50:50 выглядит так:

  • sm partition disk:179,64 mixed 50

Это конец руководства Пола О’Брайена, но не конец работы. Если вы теперь хотите использовать переразмеченную память, вы также должны перенести приложения и данные. Это можно сделать через раздел «Хранилище» в меню настроек Android. Выберите карту MicroSD, затем перейдите в верхнюю правую часть меню и нажмите «Переместить данные» . Вы не можете выбрать этот пункт меню перед разделением.

Теперь все загруженные приложения полностью запишутся на карту MicroSD. Только системные приложения и обновления используют внутреннюю память. Это означает, что вы никогда не получите сообщение об ошибке из-за нехватки места.

Итак, как включить adoptable storage в redmi note 3 с android 6

Сделать это можно следующим образом:

#1 — заходим в «Настройки» и активируем Режим разработчика («Настройки» -> «О телефоне» -> быстро тапнуть 7 раз по строчке с номером версии MIUI);

#2 — переходим в раздел «Для разработчиков» и в нём:

  • активируем опцию «Не выключать экран«;
  • ВЫКЛЮЧАЕМ «Оптимизацию MIUI«;
  • включаем «Отладку по USB«.

#3 — скачиваем и устанавливаем на компьютер «ADB and Fastboot» (ссылка вот platform-tools_r27.0.1-windows) и идем дальше:

#4 — подключаем смартфон к компу через кабель USB и на компе запускаем командную строку с правами Администратора и последовательно вводим следующие команды:

adb shell

sm set-force-adoptable true

sm list-disks

после чего комп должен ответить примерно так: disk:179,64.

#5 — dводим команду на форматирование карты памяти:

sm partition disk:xxx,xx private/mixed xx

где:

  • вместо xxx,xx указываем значение, полученное ранее (в нашем случае это 179,64)
  • параметр private указываем, только если под adoptable storage планируем использовать всю карту памяти;
  • параметр mixed xx указываем, если если под adoptable storage планируем использовать НЕ всю карту памяти, и вместо xx следует указать объем в процентах не задействованной под adoptable storage памяти (к примеру, mixed 60, это означает, что объем adoptable storage составит 40% от доступного объема microSD-карты);
  • проверяем результат непосредственно в смартфоне («Настройки» -> «Хранилище»).

#6 — вводим команду sm list-volumes, после чего комп должен выдать ответ вроде private:179,67 mounted fb705131-c6a0-4e3a-959b-605a64364c8c

#7 — вводим команду на перенос данных pm move-primary-storage xxxxxxxxxx-xxxx-xxxxx-xxxxx-xxxxxxxxxx, где вместо кучи «иксов» указываем ранее полученное значение (у нас это fb705131-c6a0-4e3a-959b-605a64364c8c), при этом ход процесса должен отображаться на экране смартфона.

#8 — со смартфона идем на Play Маркет, устанавливаем оттуда приложение QuickShortcutMaker(прямая ссылка), запускаем его, потом создаем в нём и ставим на рабочий стол иконки для приложений «com.android.settings» и «com.android.settings.Applications.ManageApplications«.

#9 — перезагружаем смартфон.

#10 — с помощью новых иконок находим и переносим в «адаптивную память» (её смартфон видит как «External Storage» или «Внешнее хранилище») нужные приложения.

Как включить функцию adoptable storage в смартфоне с android 6 (на примере redmi note 3)

На этапе подготовки кроме самого смартфона понадобятся:

Напомним также, что данное мероприятие обязательным не является, выполняется каждым юзером сугубо по своему желанию и на свой страх и риск.

Проблемы с обновлениями системы и nougat

Некоторые читатели сообщили о трудностях при установке обновлений системы в Android 6.0 после использования вышеописанных методов. Обновление для Android 7.0 Nougat не представляется возможным после установки MicroSD в качестве внутренней памяти. Наши тестовые устройства с Android 7.0 Nougat, даже не реагируют на команды консоли, показанные выше.

В связи с отсутствием документации в сети, мы можем только рекомендовать выполнить ряд операций, перед обновлением системы. Сделайте резервную копию фотографий или музыки на свой компьютер или в облако и освободите столько памяти на SD-карте и смартфоне, сколько сможете.

Удалите ненужные приложения и верните данные во внутреннюю память. Затем отформатируйте карту MicroSD как съемный носитель. Только тогда вы сможете безопасно установить обновление для Android.

Простой способ

Если вам повезет, ваш смартфон позволит вам сделать это, без подключения его к ПК. Этот метод, скорее всего, будет единственной надеждой, если вы используете более новую версию Android (7.0 Nougat или 8.0 Oreo). Вот как проверить:

  • Установите SD-карту в телефон Android и дождитесь ее распознавания
  • Откройте Настройки> Храненилище
  • Коснитесь имени вашей SD-карты.
  • Коснитесь трех вертикальных точек в правом верхнем углу экрана.
  • Нажмите «Настройки» .
  • Выберите Форматировать как внутреннюю память.
  • Нажмите «Очистить и форматировать»
  • Затем Android предложит перенести данные

Если ваш смартфон не позволяет вам это делать, процесс становится более сложным. Мы перейдем к нему ниже.

Смартфоны с android oreo

Недавние обновления для Android немного изменили правила, но по-прежнему можно использовать этот метод с ADB. Просто начните работу с ADB по методу выше, но после ввода shell adb вам будет предложено установить определенные значения.

Введите следующие строки, чтобы разблокировать возможность форматирования карт microSD в качестве внутреннего хранилища на вашем телефоне:

G8141:/ $ sm set-force-adoptable trueG8141:/ $ sm list-disks—  disk:179,0G8141:/ $ sm partition disk:179,0 privateG8141:/ $ sm set-force-adoptable falseG8141:/ $ exit

Мы проверили этот метод на Sony Xperia XZ Premium под управлением Android 8.0 Oreo, и это сработало. На скриншотах ниже вы можете увидеть 16-гигабайтную карту microSD, установленную в качестве внутренней памяти:

Увеличение объема памяти: полный успех

Мы подвергли все описанные выше смартфоны единому тесту на выносливость. Мы установили Final Fantasy IX на всех устройствах. Размер игры составляет 1,8 ГБ. После установки легко увидеть, какая из двух видов памяти, внутренняя или SD-карта — использовалась.

Сравните значения внутренней памяти и памяти SD-карты на скриншоте для подтверждения.

1 Звездаслабоватона троечкухорошо!просто отлично! (1 оценок, среднее: 4,00 из 5)
Загрузка...

Расскажите нам ваше мнение:

Ваш адрес email не будет опубликован. Обязательные поля помечены *