Jak nie uruchamiać androidowych aplikacji na PC?
16.03.2018 14:58
Ostatnio mając parę dni wolnego poprzeglądałem znany chiński portal i trafiając na kilka promocji chciałem zrobić zamówienie. Używając do tego aplikacji mobilnej możemy dostać większe rabaty (przy moim zamówieniu było to prawie 10$!!!). Niestety, będąc na urlopie miałem przy sobie tylko laptopa i telefon. Na prywatnym telefonie staram się nie instalować żadnych szpiegujących aplikacji, a tablet tzw. "rozrywkowy", który do takich rzeczy używam został w domu. Bo chyba wszyscy wiemy, że korzystając z takich rabatów w aplikacji mobilnej, płacimy za nie swoimi danymi ;)
A może by tak uruchomić aplikację z Androida na komputerze?
Podejście numer 1
Korzystam z Macbooka, ale z Linuxem, a konkretnie Manjaro (to właściwie mógłby być temat na osobny wpis;). Zacząłem od zapytania wujka Google, jak na Linuxie uruchomić aplikację z Androida.
Pierwszy wynik zapytania, Anbox zapowiada się obiecująco. Obecnie jest to dopiero wersja Alpha, ale podobno działa. Jednak jak się okazało, jedyny sposób instalacji to instalacja z użyciem pakietów Snap.
Ale sprawdźmy najpierw repozytorium AUR (to jeden z powodów, dla których używam Manjaro).
Anbox jest dostępny, a poza trzema wyszukanymi pakietami potrzebuje też całkiem sporo innych pakietów jako zależności. Instalacja się rozpoczęła, choć pojawił się pierwszy problem - doxygen. Wersja systemowa nie chcę się zainstalować - błąd 404. Krótka przerwa, próba instalacji nowszej wersji z AUR. Poszło. Wszystkie niezbędne zależności się zainstalowały, rozpoczyna się kompilacja. I nagle stop...
Błąd pierwszy, chyba jakiś problem przy konwersji zmiennych? Poszukiwania łatki. Na szczęście łatka się znalazła, pierwsza, potem kolejny błąd, konieczna była też druga łatka, ale kompilacja się powiodła. Przy okazji znalazłem informację, że jak się skompiluje, i tak się nie uruchomi (segmentation fault).
I niestety się to potwierdziło...
Po zmarnowaniu prawie 2 h, stwierdziłem, że nie ma sensu iść dalej tą drogą. Spróbuję ze Snapem. Mimo, że Linuxa używam dużo, w pracy i na co dzień korzystając z komputera, w tym różnych kontenerów (Docker, a ostatnio LXC) to Snapa nie miałem jeszcze okazji testować. Instalacja snapd przebiega bezproblemowo, dalej według instrukcji na stronie twórców Anbox, też bezproblemowo aż do pierwszego uruchomienia. Znów segmentation fault. Według dyskusji na githubie projektu, póki co poprawnie program ten działa tylko w Ubuntu.
Kolejny pomysł to uruchomienie pod emulatorem deweloperskim Androida, chociaż z nikłą nadzieję szukam dalej...
Podejście numer 2
No i jest inne rozwiązanie - Shaslik, korzystający właśnie z emulatora, ale stworzony po to, aby cały proces instalacji i uruchamiania apek uprościć. Krótka instrukcja używania Szaszłyka znajduję się tutaj, z programu korzystamy w linii komend, dostosowując niektóre z kroków do swojej dystrybucji.
W pierwszym kroku trzeba pobrać aplikację, którą chcemy zainstalować w postaci pliku *.apk. Ja korzystałem z dwóch źródeł: ApkPure i ApkMirror. Co do tego typu źródeł, są rożne głosy poruszające kwestie bezpieczeństwa udostępnianych tam aplikacji, ale nawet Googlowi zdarzyły się wpadki, a aplikacje umieszczone w sklepie Play miały niechciane złośliwe dodatki.
BTW, ApkPure sprawdził się dość dobrze, kiedy swego czasu korzystałem z Blackbery z systemem BlackberryOS mającym możliwość instalowania aplikacji dla Androida. Była nawet specjalna aplikacja dedykowana dla Blackbery do pobierania plików *.apk z ApkPure.
Mając pobrany plik *.apk z aplikacją, za pomocą jednej komendy możemy dokonać instalacji:
$ shashlik-install sciezka/do_naszej/aplikacji.apk
a w menu pojawi się wygodny skrót (chociaż to pewnie będzie zależne od używanej dystrybucji). Aplikację możemy uruchomić również za pomocą komendy:
$ shashlik-run NazwaAplikacji
Podejście drugie niestety także nie zakończyło się sukcesem. Aplikacja Aliexpress startuje, ale pojawia się tylko czarny ekran. Testowałem też starsze wersję. Do działania prawdopodobnie potrzebne są usługi Google Play. W tym momencie się poddałem, a zamówienie zrobiłem z aplikacji zainstalowanej na tablecie po powrocie do domu. Niestety rabat był już trochę mniejszy;)
Mały sukces na koniec i gra dla odstresowania...
Jak widać na poprzednim screenie, z ciekawości sprawdziłem czy działają inne aplikacje. O dziwo, mój zjadacz czasu sprzed kilku lat – gra Agry Birds zadziałała bez problemu. Mimo, że aplikacja działa płynnie i da się pograć, niestety da się zauważyć wadę emulacji. Po uruchomieniu gry, zużycie procesora wynosi momentami prawie 100%, a średnio jest na poziomie ok. 60...70%.
Może komuś z Was udało się uruchomić aplikacje z Androida w podobny sposób? Co w przypadku systemów „android na desktopa”, np. RemixOS? Da się jakoś rozwiązać problem z aplikacjami, które nie chcą działać bez usług Google Play? Nie wgłębiałem się w temat, a przymierzam się do testu RemixOS lub czegoś podobnego…
P.S. Wydawało mi się, że Angry Birds też korzystała z Usług Google Play, ale chyba nie, bo działa (gdyby ktoś chciał ją uruchamiać w podobny sposób - nie jest to najnowsza wersja aplikacji, w ApkMirror mamy możliwość pobrania również starszych wersji, uruchomiona przeze mnie wersja jest na pewno z 7 z przodu, ale nie jest to ostania wersja, bo ta się czasami zacinała).