Android i moja przygoda z apps2sd. Jak działa? Jak włączyć?

05/01/2011 – 22:41

Decydując się na instalację CM na swojej komórce, zaakceptowałem również to, że będę korzystał z Androida w wersji 2.2.1, a ten z kolei umożliwia przenoszenie aplikacji z pamięci telefonu na kartę pamięci. Ale czy na pewno rozwiązanie oferowane przez Google jest optymalne? Uważam, że nie. Natywne app2sd z Froyo ma kilka wad:

  • nie można przenosić wszystkich aplikacji na kartę pamięci,
  • aplikacje nie są przenoszone w całości na kartę SD, lecz jedynie „ich części”; przykładowo: aplikacja X zajmuje standardowo 15 MB na pamięci wewnętrznej telefonu; przeniesienia na kartę pamięci sprawia, że aplikacja zajmuje 4 MB na pamięci wewnętrznej, a 11 na karcie SD,
  • podczas podłączenia komórki przez USB do komputera, w celu skopiowania plików, nie można korzystać z aplikacji, które zostały przeniesione z telefonu na SD,
  • telefon dość długo po inicjalizacji karty pamięci, wyszukuje przeniesione nań aplikacje.

Problem z długą inicjalizacją SD czy kopiowaniem przez USB jest do zniesienia. Niestety fakt, że pamięć wewnętrzna telefonu szybko się zapełnia, poprzez instalację kolejnych aplikacji, już nie jest powodem do uśmiechu.

Przedwczoraj skończyła mi się wolna pamięć na telefonie. Włączyłem zatem apps2sd w SamdroidTools po czym wykonałem reboot (oczywiście karta pamięci posiadała odpowiednią partycję, wymaganą przez apps2sd). Po reboocie, żadna z aplikacji nie została przeniesiona na partycję ext2 na karcie pamięci. Zmartwił mnie również fakt, że SamdroidTools twierdził, że partycja ext2 ma jedynie 75 MB wolnego miejsca, a nie 340. Wyjąłem kartę, sprawdziłem na komputerze. Komórka kłamała, gdyż druga partycja na karcie pamięci była cała pusta i faktycznie miała 340 MB.

Sformatowałem jeszcze raz partycję ext2, zarówno z poziomu komputera jak i recovery w komórce. Nic to niestety nie dało. Żadna z aplikacji nie została przeniesiona, a SamdroidTools dalej usilnie podawał złą wartość wolnego miejsca.

Hmm, a może moja karta microSD się skopała? Zrobiłem jej backup, znalazłem drugą kartę pamięci o identycznych parametrach, sformatowałem ją odpowiednio, ale komórka dalej mi uprzykrzała życie.

Zacząłem szukać informacji przy użyciu Google na temat apps2sd na Cyanogenmodzie. Nic ciekawego nie znalazłem. Jedynie jeden user na forum.samdroid.net zgłaszał jakiś czas temu identyczny problem, z którym ja się borykałem – niestety, bez odzewu.

Do późnych godzin nocnych szukałem jakiś wskazówek. Nic nie znalazłem. Poszedłem spać. Dopiero dzisiaj mnie olśniło. Prawdę mówiąc, szukając kolejną godzinę na Google, znowuż to nic nie znalazłem, ale coś mnie natchnęło… Skoro Android jest systemem Linuksowym, ma praktycznie identyczną budowę, to tak na logikę – czym jest apps2sd (to z SamdroidTools)? Albo skompilowanym programem, albo skryptem wrzuconym do runlevelu. Od razu zajrzałem do /etc/init.d/ w komórce. Co zobaczyłem? Pliczek 04apps2sd. Nigdy się tak bardzo nie ucieszyłem na widok jakiegokolwiek pliku w /etc/init.d :P. Szybko przyjrzałem się jego zawartości, po czym stwierdziłem, że zasada działania apps2sd z SamdroidTools jest bajecznie prosta, a skrypt sam w sobie jest banalny.

Jak działa apps2sd (w uproszczeniu)?

  1. Sprawdza czy jest aktywowane w systemie.
  2. Sprawdza drugą partycję na karcie pamięci pod kątem błędów.
  3. Montuje ją w /system/sd.
  4. Kopiuje aplikacje z pamięci wewnętrznej telefonu na zamontowaną partycję.
  5. Usuwa aplikacje z pamięci telefonu.
  6. Tworzy dowiązanie z /data/app do /system/sd/app oraz z /data/app-private do /system/sd/app-private.

Skrypt identycznie postępuje z przenoszeniem dalvik-cache na kartę SD.

Zatem – skoro skrypt jest napisany dobrze, uruchamia się przy starcie, to czemu apps2sd nie działa? Widocznie nie jest uruchamiane. Dlaczego? Bo nie jest aktywowane. Tak jak podejrzewałem, tak i było. Mimo włączenia w SamdroidTools apps2sd, do systemu nie została zapisana informacja, że ma być ono włączone.

Skrypt 04apps2sd pobiera informacje z systemu o aktywowaniu apps2sd za pomocą polecenia getprop (a konkretnie: getprop lk.apps2sd.enable). Jako że setprop szwankuje w przypadku SamdroidTools, musiałem znaleźć obejście. Chwilka na Google i okazało się, że można stworzyć własny plik z ustawieniami. Wszystko ograniczyło się do jednego polecenia:

# echo "lk.apps2sd.enable=1" > /data/local.prop

a dla dalvik2cache:

# echo "lk.movedc.enable=1" > /data/local.prop

Po tym wykonałem reboot. Aplikacje zostały przeniesione oraz SamdroidTools zaczął pokazywać poprawną wartość wolnej pamięci na drugiej partycji karty pamięci.

Wniosek? Apps2sd na CM szwankuje (przynajmniej u mnie). Drugi wniosek? Fora Androidowe zalane są całą masą pseudo-fachowców, którzy wypowiadają się na temat Androida, partycji, aplikacji, podstawowych zagadnień związanych z Linuksem, nie mając nawet pojęcia co to jest swap. Trzeci? Z tego co wyczytałem na forum.samdroid.net, Leshak rezygnuje z apps2sd w Androidzie 2.2 i 2.3, na rzecz natywnego app2sd. Tak więc – trzymajcie kopię /etc/init.d/04apps2sd w bezpiecznym miejscu :-).

Przygoda ze Spicą i CyanogenMod-6.1.1-Spica-alpha8.1

29/12/2010 – 21:37

W poprzednim wpisie wspominałem, że na swojej komórce korzystam ze zmodyfikowanego oprogramowania – samdroid – bazującego na Androidzie 2.1. Przedwczoraj postanowiłem zrobić upgrade do nowszej wersji systemu Android (2.2.1 aka Froyo). Do wyboru miałem czysty soft Androida 2.2 z modyfikacjami samdroid, bądź zmodyfikowaną wersję Androida 2.2.1 – CyanogenMod.

Zdecydowałem się przetestować drugą wersję, czyli CM. Dlaczego? Przeglądając wątki na forum.android.pl oraz forum.samdroid.net doszedłem do wniosku, że wszelkiej maści poprawki pojawiają się szybciej na CM oraz jest on dynamiczniej rozwijany. Poza tym, byłem bardzo ciekaw co nowego wprowadza CM względem oryginalnych źródeł 2.2.1.

Sporo się namęczyłem przy instalacji nowego oprogramowania, ale to tylko i wyłącznie z własnej winy.

Pierwsze co zrobiłem to wgrałem oryginalny soft 2.1 oraz zrootowałem telefon. Następnie pobrałem paczkę z CyanogenMod i zaaplikowałem w recovery. System się uruchomił i przywitało mnie wiele nowości – zarówno tych z Froyo jak i samych dodatków CM. Ale o tym później i w innej notce. Podczas doprowadzania komórki do stanu używalności (czytaj: instalacji aplikacji, konfiguracji ich, etc.), zaaplikowałem jeszcze kilka poprawek w recovery (sterowniki 3D z Samsung Intercept, XDA Tweaks, BFS kernel, przekonwertowałem standardowe partycje na ext2 i 4, stworzyłem i aktywowałem swap). Komórka zaczęła śmigać jak burza, w porównaniu do wersji 2.1.

Niestety, w pewnym momencie coś się pochrzaniło. Zainstalowałem pewną aplikację w komórce (jak na złość, nie pamiętam co to było), po czym zrobiłem restart komórki. Podczas bootowania przypomniało mi się, że chciałem wejść do recovery aby coś sprawdzić. Poczekałem aż komórka się uruchomiła i zanim wszystkie procesy systemu i Google’a zaczęły działać, wyłączyłem sprzęt. Do recovery dostałem się bez problemu (nic nie zmieniając, jedynie sprawdzając kilka rzeczy) po czym uruchomiłem system ponownie. Ponowne uruchomienie trwało bardzo długo, czym się poważnie zaniepokoiłem. Po dłuższej chwili ujrzałem… ekran powitalny Androida 2.2. Jak się po chwili okazało, straciłem wszystkie ustawienia i aplikacje. Wkurzyłem się strasznie, wszak nie czyściłem ani /cache ani /data (factory reset). Na wszelki wypadek zrobiłem factory reset i zacząłem wszystko od nowa konfigurować. Nie musiałem ponownie aplikować patchy z recovery, ponieważ te dane nie zostały naruszone. Kiedy wszystko zrobiłem jak chciałem, ponownie uruchomiłem telefon. I co? Znowu pusto. Moja złość osiągnęła epicentrum.

Nieźle wkurzony, wczoraj wieczorem, postawiłem system od nowa – poczynając od 2.1 skończywszy na CM. Niestety, natrafiłem na bootloop, gdyż zapomniałem wyłączyć moduł WiFi przy aplikowaniu jądra BFS. Kilka chwil wdechu i wydechu… Znowu wszystko od nowa (2.1, root, CM, itd.). Tym razem po zrootowaniu 2.1 zrobiłem backup systemu (a tak, na wszelki wypadek, aby znowu nie bawić się z Odinem, który – notabene – odmawia mi posłuszeństwa na Viście (ale o tym kiedy indziej)). Następnie stopniowo i pomalutku postawiłem CM i zaaplikowałem kilka poprawek w recovery. Otrzymując „czysty” system 2.2.1 wraz z poprawkami, zrobiłem kolejny backup. Poszedłem spać.

Dzisiaj od rana od początku zacząłem instalować, konfigurować, dostosowywać komórkę. Skończyłem gdzieś o 16, może 17. Za chwilę zrobię backup i tego systemu, który jest w pełni stabilny i skonfigurowany.

Korzystając z CM na Spicy warto pamiętać, aby:

  • nie włączać trybu „tylko 2G”,
  • nie wyłączać telefonu z włączonym WiFi,
  • kernel BFS instalować tylko wtedy kiedy partycje są na systemie plików ext2/4,
  • nie wyłączać telefonu zanim wszystkie procesy systemu i Google’a się uruchomią,
  • robić backupy partycji systemowych.

Zabawa z CM sporo mnie nauczyła jeżeli chodzi o Androida oraz modyfikację Spicy.

Samsung Galaxy i5700 Spica – „nowe sterowniki 3D”?

23/12/2010 – 23:21

Dzisiaj moja Spica uzyskała, tak zwane, „nowe sterowniki 3D”. Co mam na myśli? Napotkałem dzisiaj na forum.samdroid.net ciekawy wątek dotyczący ostatnio wydanych sterowników dla komórki. Zostały one dodane do najnowszego wydania CM, ale już po krótkim czasie pojawiły się modyfikacje na czysty SM.

Nie jest to żaden nowy sterownik, ani tym bardziej ten pisany przez tom3q. Jest to zwykły port (z dokładnie jakich modeli, nie wiem, nie wczytałem się dokładnie).

Czy warto? Ano warto. Najpierw plusy:

  • telefon uruchamia się szybciej (jakim cudem, nie wiem, ale grunt, że uruchamia się szybciej),
  • komórka działa o wiele szybciej, szczególnie w przypadku przeglądania Internetu oraz Galerii 3D,
  • pojawiły się tekstury w niektórych grach,
  • niektóre z gier zaczęły płynnie działać.

Minusy:

  • nie działa odtwarzanie jakichkolwiek filmów (dźwięk jest, obrazu brak) [ obiecano to naprawić i jest już patch na CM, czekam na SM ].

Są to moje subiektywne spostrzeżenia, zaobserwowane przez ostatnie 3 godziny używania komórki. Jednakże najbardziej zadowolony jestem z działania przeglądarki. Do tej pory korzystałem tylko i wyłącznie z Opery Mini. Dlaczego? Ponieważ standardowa przeglądarka w Androidzie 2.1 na Spicy, bardzo powoli renderowała strony. Po podmianie sterowników, jestem naprawdę pod ogromnym wrażeniem! Przeglądarka działa naprawdę bardzo szybko, przewijanie jest w miarę płynne, ale co najważniejsze – renderowanie stron odbywa się znacząco szybciej. Kto wie, może zrezygnuję z Opery Mini…

Polecam przetestować wszystkim fanom Spicy.

http://forum.samdroid.net/f38/3d-driver-spica-discussion-2589/index52.html

oraz
http://forum.samdroid.net/f38/3d-driver-spica-discussion-2589/index54.html

Działa w końcu ten mikrofon czy nie? (MSI EX625)

17/12/2010 – 23:47

Istna paranoja…

Od samego początku od kiedy posiadam notebooka, borykam się z problemem uruchomienia wbudowanego mikrofonu. Oczywiście dotoczy to tylko i wyłącznie systemów Linuksowych, bo – jakżeby inaczej – na Viście mikrofon hula jak marzenie.

Wpierw po zakupie dość długo męczyłem się z uzyskaniem jakiegokolwiek dźwięku z karty dźwiękowej. Udało się. Następnie przez długi okres walczyłem z wbudowanym w laptop subwooferem. Każde moje próby kończyły się niepowodzeniem. Później próbowałem uruchomić mikrofon – bezskutecznie. Ale ostatnimi czasy…

No właśnie. Podczas ostatniej rozmowy na Skype, odłączyłem na chwilę zewnętrzny mikrofon (już nawet nie pamiętam po co) i napisałem poprzez GaduGadu do osoby, z którą rozmawiałem, że przez chwilę nie będzie mnie słyszeć. Odpisała mi „ok”. Jednak po chwili, dostałem od niej wiadomość, że niby nie miała mnie słyszeć, a usłyszała po wysłaniu wiadomości do mnie, dźwięk „wiadomość panie” (służy mi on jako powiadomienie o nowej wiadomości). Zamurowało mnie. Mogę krzyczeć, wrzeszczeć do mikrofonu, a nie słychać mnie, ale to co wydobywa się z głośników w laptopie już słychać.

Przeprowadziliśmy potem kilka testów. Nawet włączyłem głośno muzykę, zadzwoniłem na komórkę do tej osoby, aby samemu przekonać się, że dźwięk jest przesyłany. Test wyszedł pomyślnie. Aż zacząłem podejrzewać, że dźwięk może i faktycznie nie jest przechwytywany przez mikrofon, a bezpośrednio… z systemu. Absurd, ale było to jedynie racjonalne wytłumaczenie. Zrobiłem kolejny test. Zmniejszyłem głośność do 0%, prosząc aby osoba, z którą (próbowałem) rozmawiać, napisała do mnie ponownie na Gadu, po czym odpisała mi czy usłyszała dźwięk. Nie usłyszała. Włączyłem muzykę. Też jej nie słyszała. Zwiększyłem głośność do 50%. Rozmówca słyszał muzykę.

Istna paranoja…

Kolejny test. Głośność 50%, włączam muzykę z komórki. Osoba po drugiej stronie Skype nie słyszy jej.

Jeszcze kilka godzin kombinowałem, przestawiałem suwaczki w alsamixerze, notowałem sobie co już sprawdzałem. Jedynie co zyskałem to totalne ogłupienie całą sytuacją. Mogę wydawać z siebie jakikolwiek dźwięk, mówić tak głośno aby obudzić sąsiadów, ale i tak mnie nie słychać. Słychać jedynie to co wydobywa się z głośników mojego laptopa. Jedynym racjonalnym wytłumaczeniem byłoby to, że „coś” miksuje dźwięk „softwerowo” w systemie i przesyła go do Skype. Tylko pytanie „co”? Teza ta jest jednak niedorzeczna, gdyż w momencie wyciszenia jedynie głośników (a nie każdego wyjścia na karcie dźwiękowej), cokolwiek będzie się wydobywać z latpopa, nie będzie słyszane u rozmówcy.

Strasznie mnie to nurtuje, a nie mam żadnego nowego pomysłu, nic mi nie przychodzi do głowy.

Istna paranoja…

DeaDBeeF – odtwarzacz muzyki z zakładkami

22/11/2010 – 21:27

Parę dni temu, moderując forum, natknąłem się na ciekawy odtwarzacz muzyki – DeaDBeeF.

Aplikacja ta jest napisana (nie)stety przy użyciu GTK2 (kwestia gustu). Co mi się w niej najbardziej spodobało? Ano to, że ma możliwość tworzenia playlist na zasadzie zakładek, bardzo podobnie jak w Foobarze czy Aimpie2 na Windowsa. Dotychczas korzystałem z Amaroka jako odtwarzacza, ale zapewne odejdzie on u mnie w zapomnienie na rzecz DeaDBeeF.

Niektórzy mogą pamiętać iż dawniej korzystałem z MPD i Sonaty, gdzie również istnieje możliwość tworzenia playlist po zakładkach, ale MPD i Sonata odpadła u mnie z innych względów.

DeaDBeeF ma bardzo minimalistyczny interfejs – co dla jednych będzie stanowić zaletę, dla drugich wadę. Osobiście odbieram to jako zaletę, gdyż nie lubię przepakowanych interfejsów w odtwarzaczach muzycznych – wystarczy mi tylko aby grał i miał grupowanie po zakładkach.

Polecam przetestować owy odtwarzacz. Na stronie domowej projektu, znajdują się paczki dla Debiana (niestety, nie ma ich w żadnym oficjalnym repozytorium).

Strona domowa DeaDBeeF -> http://deadbeef.sourceforge.net/

Sprzedam komputer lub osobno części

17/11/2010 – 21:52

Witam.
Mam do sprzedania komputer. Należał on kiedyś do mnie, jednakże po zakupie laptopa sprzedałem dość sporo części z niego, natomiast to co mi pozostało, oddałem mojemu bratu, dokupując odpowiednie komponenty. Brat niedawno kupił laptopa, dlatego stacjonarny komputer jest mu zbędny. Poniżej podaję listę części jaką mogę zaoferować do sprzedania. Wszystko co podałem poniżej na liście, jest w 100% sprawne – dzisiaj zakończyłem testy sprzętu. Stan sprzętu jest również bardzo dobry. Jestem skłonny sprzedać komputer po częściach.

W razie jakichkolwiek pytań, skontaktuj się ze mną.

Płyta główna:
– Gigabyte GA-M55S-S3 (rev. 2.0)
– nForce 550 / Socket AM2
– http://www.gigabyte.pl/products/mb/specs/ga-m55s-s3_20.html

Zasilacz:
– Amacrox Warrior AX450-PNF (400 W)

Karta graficzna:
– ATI Radeon X700

Pamięć:
– 3x Kingston 1 GB 667 MHz, 1,8V (KVR667D2N5/1G)

Procesor:
– AMD Athlon 64 LE (1640 BOX)

Dysk twardy:
– WD 160GB, SATA/300, 8MB (WD1600AAJS) zapis prostopadły

Obudowa:
– Tracer Proton TRO-112

Monitor:
– LG FLATRON W1952TQ

Inne:
– Czytnik CD/DVD LG
– Karta telewizyjna WinFast TV 2000XP

Opera Mobile 10.1 beta na Androida – subiektywna opinia

12/11/2010 – 22:54

Dokładnie 9 listopada, Opera wydała wersję beta swojej mobilnej przeglądarki Opera Mobile 10.1 dla systemu Android. Osobiście długo czekałem na premierę tej aplikacji na Androida. Opera bodajże już w październiku zapowiedziała oficjalne wydanie Opery Mobile na Androida.

W dniu wydania aplikacji, pobrałem ją z Android Market (oczywiście jest ona darmowa). Paczka instalacyjna ważyła około 6,5 MB – o ile mnie pamięć nie myli, jednakże po instalacji, cała przeglądarka zajęła niecałe 25 MB na karcie pamięci telefonu – co od razu zaliczyłem jako ogromny minus.

Po uruchomieniu, od razu zwiedziłem strony, które ładują się bardzo długo na standardowej przeglądarce internetowej, dostępnej w moim telefonie Samsung Galaxy Spica (I5700), tzn. od około 30, do ponad 60 sekund. Przykładowe strony to: wp.pl, onet.pl, dobreprogramy.pl, android.com.pl, nk.pl (oczywiście w wersjach standardowych, a nie tak zwanych „lite”).

Ku mojemu zaskoczeniu – Opera bardzo szybko wczytała każdą z tych stron (należy tutaj nadmienić, że strona jest renderowana na komórce). Pi razy drzwi rzekłbym, że o 50% szybciej niż standardowa aplikacja do przeglądania Internetu, wyprzedzając nawet Dolphin 2.x, która na moim telefonie, najszybciej renderowała strony, w porównaniu z innymi przeglądarkami dostępnymi w markecie.

Niestety, mimo szybkiego ładowania i renderowania stron, Opera ma ewidentny problem z czcionką – niekiedy trzeba czekać kilkanaście sekund (po załadowaniu strony), aby jakikolwiek tekst na www był możliwy do odczytania. Czasami ten problem w ogóle nie występuje, dlatego zaliczam to jako bug bety.

W Operze Mobile na Androida mamy również dostęp do Opery Link oraz Opery Turbo – co jest ogromnym plusem. Ponadto minimalistyczny interfejs, znany z Opery Mini 5.x, umila i upraszcza pracę.

Wszystko byłoby naprawdę fajnie, gdyby nie największa bolączką Opery Mobile 10.1 Beta – ogromne zapotrzebowanie na pamięć RAM. W momencie uruchomienia Opery, Android zamyka mi praktycznie wszystkie wcześniej uruchomione aplikacje. Co gorsza, wystarczy wrócić na pulpit i… Opera zostaje zamknięta przez Androida w celu zwolnienia pamięci. Heh – w ten oto sposób, Opera Mobile ze smartfona zrobiła urządzenie tylko i wyłącznie do przeglądania Internetu. Nie jestem w stanie podać ile konkretnie pamięci RAM pożera przeglądarka, ponieważ uruchomienie jakiegokolwiek monitora pamięci, skutkuje zamknięciem Opery. Wniosek stąd prosty – cała pamięć jaka zostaje użytkownikowi, jest zużywana przez Operę Mobile. OGROMNY MINUS.

Pamięciożerność przeglądarki sprawiła, że… wyleciała ona u mnie w /dev/null. Nadal korzystam ze sprawdzonej Opery Mini. Nie zdyskwalifikowałem jednak Opery Mobile całkowicie, w końcu to tylko beta. Jeżeli pobieranie pamięci przez aplikację zostanie zmniejszone, a problem z czcionkami rozwiązany, jestem skłonny przejść na tak długo wyczekiwaną przez mnie przeglądarkę na Androida.