Android vs karty pamięci

sdW tym wpisie poruszymy temat zapisu danych na kartę pamięci i bynajmniej nie chodzi tutaj tylko o PowerGPS-a. Zazwyczaj Androidowy sprzęt posiada wejście na kartę, ale czy wiesz, że w niektórych wersjach systemu może nie być możliwe jej pełne wykorzystanie?

Doszliśmy do czasów, gdzie na jednej karcie pamięci możemy spokojnie magazynować kilka-kilkanaście-kilkadziesiąt GB bez wielkich kosztów. Telefony lub tablety z Androidem mają zazwyczaj wejście na kartę pamięci i wydawałoby się, że wszystko jest pięknie – skoro urządzenie udostępnia wejście na kartę i jest ona widoczna w systemie, można ją wykorzystać w każdej aplikacji, która obsługuje ten typ pamięci.

Google strzela Androidowi w stopę

Tak było wcześniej, jednakże wraz z pojawieniem się wersji 4.4 Androida, Google postanowiło wprowadzić pewne modyfikacje, które w praktyce skutkują zablokowaniem instalowanym aplikacjom dostępu do karty pamięci!

Żeby było ciekawiej, każda z aplikacji może zadeklarować czy będzie korzystać z karty pamięci – instalując aplikację dajemy jej przecież uprawnienia (świadomie zgadzając się na instalację, przed którą jesteśmy informowani o zakresie wykorzystywanych funkcji) – tak więc dlaczego nagle w wersji 4.4, pomimo, iż aplikacje teoretycznie otrzymują pewne uprawnienia – jednak faktycznie ich nie mają?

Jeśli jesteście zainteresowani poczytaniem na ten temat na forach związanych z Androidem – możecie rzucić okiem na ten wpis. Dla nas ten problem stał się szczególnie dotkliwy, gdy realizowaliśmy testy telefonu MyPhone Hammer AXE LTE, opartego o system Android 4.4.4.

Można tylko podejrzewać dlaczego w wersji 4.4 tak się stało:

  • czy chodzi o promowanie dysków sieciowych i zmuszanie użytkowników do wykonywania kopii na dyskach sieciowych zamiast na kartach pamięci? W końcu Google główne korzyści odnosi z dostarczania usług sieciowych i gromadzenia informacji, więc jeśli użytkownik nie będzie przechowywał danych na karcie pamięci – to będzie to musiał robić w sieci, zapewne z użyciem usług Google, które tym samym będzie miało dostęp do jeszcze szerszej ilości danych. W ten sposób „uzależnia się” użytkownika od konkretnej technologii.
  • czy też chodzi o „przekombinowanie” w zakresie kwestii uprawnień – na zasadzie chcieli dobrze, a wyszło jak wyszło…- być może bazując na założeniu

    użytkownik powinien mieć jak najmniej uprawnień, bo inaczej coś zepsuje lub sobie zaszkodzi

Finalnie jednak nadmierna „mądrość w dbaniu o użytkownika” w wykonaniu Google doprowadziła do sytuacji, w której aktualizując system do wersji 4.4 mamy spory problem! I wiele osób na świecie boleśnie się o tym przekonało.

Żeby było ciekawiej, spotkaliśmy takie wersje systemu Android 4.4, dla których producent obszedł problem i zapis na karcie jest możliwy. Takim telefonem jest np. MyPhone Q-Smart Slim (Android 4.4.2), który mapuje kartę pamięci w obszar pamięci wbudowanej – dzięki temu każda aplikacja, która jest przekonana, że zapisuje dane we wbudowanej pamięci wewnętrznej, tak naprawdę zapisuje je na karcie pamięci!

Co zrobić, jeśli posiadamy telefon, który uniemożliwia aplikacjom zapis na karcie pamięci? Co prawda nie jesteśmy całkowicie odcięci od zapisu – np. w Hammerze jest wbudowany (systemowy) menedżer plików, który posiada dostęp i możliwość zapisu na karcie – dzięki czemu będziemy w stanie zrobić ręcznie kopie projektów. Ale przecież korzystamy głównie z aplikacji instalowanych i to one przede wszystkim powinny mieć dostęp do zewnętrznej karty pamięci!

Rozwiązanie – zmień 1 linijkę!

Rozwiązaniem kwestii dostępu do karty jest zmiana w ustawieniach systemu pliku /system/etc/permissions/platform.xml , gdzie w sekcji WRITE_EXTERNAL_STORAGE należy dodać linijkę dającą uprawnienia zapisu na karcie <group gid=”media_rw” />.

Niestety próba dokonania tej zmiany z poziomu Androida bez roota skończy się naszą frustracją – system bowiem odmówi prawa do zapisu zmodyfikowanego pliku.

Potrzebne jest tzw. zrootwanie telefonu – czyli odblokowanie systemu operacyjnego, aby był w stanie udostępnić użytkownikowi pracę na uprawnieniach administracyjnych. Może to polegać na wykorzystaniu specjalnych aplikacji i zmianie obrazu systemu w specjalnej pamięci urządzenia.

Proces rootowania może sprawić, że z telefonu otrzymamy „cegłę” (sprzęt nie będzie odpowiadał) – jest to bowiem głęboka ingerencja w oprogramowanie telefonu i jakiś błąd po drodze w trakcie aktualizacji może teoretycznie doprowadzić do problemu (ale zazwyczaj tak nie jest – inaczej rootowanie nie byłoby popularne – a jest!)

Niestety producenci telefonów odmawiają użytkownikom realizacji tej funkcji – po wykonaniu tego typu czynności tracimy gwarancję! 

Na szczęście są osoby, które twierdzą, że zgodnie z prawem UE, producenci nie powinni odrzucać przyjmowanie telefonów na naprawy gwarancyjne gdy urządzenie było zrootowane. Jednak gwarancja dość często zależy od podejścia konkretnego producenta – więc może być mała szansa na skorzystanie z gwarancji, jeśli np. podczas rootowania coś pójdzie nie tak (choć prawdopodobnie na drodze sądowej dałoby się ustalić swoje racje – w końcu w reklamach i ofertach nie jesteśmy ostrzegani, że kupujemy urządzenia obarczone blokadami/limitami – a brak roota właśnie takim limitem jest).

Z drugiej strony, nie tylko Android jest obarczony limitami – przykładowo sprzęty od Apple (iPhony, iPady), również są dostarczane w wersji z blokadami i operują na zamkniętym systemie, dla którego dostarczenie aplikacji nie poprzez firmowy sklep Apple jest bardzo utrudnione lub niemożliwe (np. gdybyśmy zdecydowali się realizować PowerGPS w wersji dla iPhonów – nie możnaby ich publikować na stronie powergps.pl – musiałyby być dostępne w sklepie Apple – po zatwierdzeniu przez ich zespół – co oczywiście zajmowałoby sporo czasu przy kolejnych aktualizacjach). A Windows Phone? Telefony oparte o ten system również zawierają odpowiednie mechanizmy blokad – więc i tam spotkacie się z pojęciem rootowania.

Jesteśmy więc zdani na łaskę producentów i twórców systemów – którym wydaje się lepiej, do czego powinniśmy mieć dostęp, a do czego nie!

Czy opłaca się rootować sprzęt?

Pomijając kwestię gwarancji – rootowanie to uzyskiwanie uprawnień, które teoretycznie nam się należą od momentu zakupu telefonu. W końcu zakupujemy sprzęt i sami powinniśmy decydować czy prawa administracyjne mają być domyślnie włączone czy też nie.

Android vs samochód – taka analogia

Nasuwa się analogia do zakupu samochodu – jeśli kupujesz samochód to prawo np. otwarcia maski i sprawdzenia poziomu oleju lub samodzielnej wymiany akumulatora jest oczywiste i logiczne. W przypadku sprzętu Androidowego bez rootowania to wygląda mniej więcej tak: kupujesz samochód, maskę możesz otworzyć w bardzo małym stopniu, a akumulatora nie wymienisz bo pewnie „coś zepsujesz”.

Reasumując – sprzęt zrootowany będzie bardziej użyteczny, niż sprzęt z domyślną blokadą na roota. Jednak jest to rozwiązanie dla osób świadomych – uprawnienia administracyjne (root) pozwalają na większą ingerencję w sprzęt, więc jeśli nie dbamy o bezpieczeństwo telefonu i nie posiadamy aplikacji ograniczających uprawnienia instalowanym programom (np. SuperUser) – wówczas narażamy się na większe ryzyko zainstalowania programów typu wirusy lub malware.

Reasumując – wszelkie zmiany w tym zakresie robimy na własną odpowiedzialność!

Jaki sprzęt/system wybrać?

Trudno odpowiedzieć jednoznacznie na to pytanie. Jeśli stoimy przed wyborem sprzętu i kwestia obsługi zewnętrznej pamięci z aplikacji jest dla nas bardzo istotna – możemy wybrać sprzęt z nowszą wersją systemu (np Android 5.1), ale i tak aktualizacja nie jest idealnym wyborem:

  • zapis na karcie pamięci w wersji 5 w teorii powinien być możliwy (my sprawdziliśmy go na Cube LTE, z Androidem 5.1, gdzie zapis z aplikacji był), ale…
  • zmiana w zakresie interfejsu poszła daleko – zmieniło się miejsce położenia przycisku cofania (nie jest już po prawej, lecz po lewej) co sprawi problemy osobom przyzwyczajonym do starszych wersji
  • o ile interfejs Android 5 wydaje się wizualnie oszczędniejszy (a może i bardziej stylowy dla niektórych) o tyle również potrafi spłatać figle – np. przy przewijaniu, które czasem nie działa jak trzeba, również panel obsługi telefonu był wygodniejszy w pierwszych wersjach systemu 4.X niż w ostatnich 4.4 oraz w 5-tce
  • znane są również problemy wersji Android 5 dot. obciążenia pamięci RAM – my testując PowerGPS na sprzęcie z 5-tką zauważyliśmy problemy z obsługą serwisów sieciowych – jeśli mapa jest ściągana w locie z sieci, Android potrafi się niemiłosiernie przycinać, a czasem nawet blokować.

Widzimy więc, że wybór najnowszej wersji systemu wcale nie musi być najlepszym wyborem – podobnie jak w przypadku kwestii Bluetooth 4.0 LE (Smart) czasem warto zwrócić uwagę na detale i dokonać wyboru nie tyle zgodnie z „modą”, lecz kierując się faktyczną użytecznością – dobrze dobrany sprzęt i program może nam posłużyć wiele lat!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *