Masz Androida KitKat (4.4.x) w swoim telefonie i zauważyłeś problemy z zewnętrzną kartą pamięci? Google zmienił kilka ustawień odnośnie kart pamięci, przez co pojawiają się problemy z zapisywaniem danych, ale można je naprawić.

Osoby posiadające Androida 4.4.x mogą mieć problemy z zapisywaniem plików na kartę pamięci lub instalowaniem aplikacji na karcie SD. Wynika to z ograniczeń związanych z prawami do zapisu i odczytu na karcie, które wprowadzone zostały przez Google wraz z wydaniem Androida KitKat.

W praktyce oznacza to, że nie możemy instalować aplikacji bezpośrednio na karcie pamięci, a także nie możemy przenosić danych z wewnętrznej pamięci do karty SD. Przykładowo, aplikacje do nawigacji nie mogą zapisywać map na karcie SD.

Jak rozwiązać problem z zapisem na karcie w KitKacie?

Aby rozwiązać ten problem, należy wprowadzić zmiany w pliku systemowym platform.xml. Możemy to zrobić na 3 sposoby. 

Metoda #1 - Skorzystaj z aplikacji SDFix: KitKat Writable MicroSD

Ta metoda jest najprostsza i wymaga jedynie zainstalowania aplikacji ze Sklepu Play.

Pobierz SDFix

Po pobraniu uruchamiamy aplikację, a następnie postępujemy zgodnie z instrukcją. Aplikacja poprowadzi nas krok po kroku i naprawi problem.

Metoda #2 – Ręczna modyfikacja pliku platform.xml

Musimy skorzystać z jakiegokolwiek menedżera plików. Ja dla przykładu pokażę to na ES File Explorer. Uruchamiamy aplikację, a następnie w pasku bocznym zaznaczamy opcję „Root Explorer” w zakładce „Narzędzia”.

ES File Explorer

Następnie udajemy się do „Urządzenie\etc\permissions\platform.xml”. Otwieramy plik i wyszukujemy w nim poniższej sekcji.

<permission name="android.permission.WRITE_EXTERNAL_STORAGE">
	<group gid="sdcard_r" />
	<group gid="sdcard_rw" />
</permission>

Musimy dopisać jedną linię pomiędzy ostatnią grupą, a zamknięciem. Po dodaniu kod powinien wyglądać jak poniżej: 

<permission name="android.permission.WRITE_EXTERNAL_STORAGE">
	<group gid="sdcard_r" />
	<group gid="sdcard_rw" />
	<group gid="media_rw" />
</permission>

Kolejną sekcją, którą wyszukujemy, jest poniższy fragment:

<permission name="android.permission.READ_EXTERNAL_STORAGE">
	<group gid="sdcard_r" />
</permission>

Dopisujemy w nim jedną linię, tak, aby fragment ten wyglądał jak poniżej:

<permission name="android.permission.READ_EXTERNAL_STORAGE">
	<group gid="sdcard_r" />
	<group gid="media_rw" />
</permission>

Finalnie, całość powinna wyglądać tak, jak poniżej:

Wpisy poprawiające działanie karty SD w KitKat

Zapisujemy zmiany i wracamy do ES File Explorera. W głównym katalogu root znajdziemy folder "mnt". Wchodzimy do niego. W folderze "mnt" znajduje sie podkatalog "media_rw" (ten, który dopisaliśmy powyżej). Musimy mu nadać odpowiednie uprawnienia, aby system mógł z niego korzystać.

Przechodzimy do ustawień uprawnień folderu media_rw. Folder powinień mieć uprawnienia "rwx rwx rwx", właściciela "root" i grupę "root". Zapisujemy uprawnienia i gotowe.

Metoda #3 – Skorzystaj z Xposed Framework i odpowiedniego modułu

Xposed Framework to dodatkowy silnik, który możemy zainstalować w Androidzie. Pozwala on pobierać odpowiednie moduły modyfikujące system w różny sposób.

Dokładną instrukcję instalacji Xposed Framework znajdziecie w naszym poradniku, jak zmodyfikować Androida bez wgrywania innego ROMu

W powyższym linku znajdziecie opis Xposed, sposób instalacji, a także instrukcję pobierania i instalacji modułów. 

Gdy już zapoznacie się z powyższym poradnikiem, to wystarczy zainstalować Xposed, a następnie pobrać do niego moduł o nazwie HandleExternalStorage.