Android - NAJSZYBSZY emulator pod Linuxem?

0

Będę w najbliższym tygodniu ogarniał środowisko developerskie do Androida.
Generalnie łatwo jest postawić zwykły emulator Android SDK, ale mi zależy na optymalizacji, szybkości tego wszystkiego.
Procesor ma tę funkcje Intel VT-x.

Jak wygląda standardowy proces:
coś tam piszemy (Java lub np. Cordova / PhoneGap / Ionic)

kompilujemy do *.apk
i tutaj *.apk przegrywamy do androida (deployment, testing)

Ten ostatni etap można na różne sposoby ustawić, mi zależy żeby odbyło się to szybko. Zaznaczę, że w gre wchodzi napisanie jakiegoś skryptu (np. wysłanie przez SSH jak to ma coś zmienić), ustawienie np. Samby, czy też jakieś inne rozwiązanie niestandardowe.

Jak aplikacja jest powiedzmy *.apk i zainstaluje się jej wersja 0.9, a dwa dni później mamy 1.0 - to jak zrobić żeby bez reinstalacji aplikacja się ulepszyła?

jak skrócić ten ostatni proces uruchamiania *.apk na androidzie?

tutaj polecają:
http://stackoverflow.com/questions/1554099/why-is-the-android-emulator-so-slow-how-can-we-speed-up-the-android-emulator
... żeby używać snapshotów - mają rację?
a może realny telefon + np. bluetooth ?
virtualbox + shared folders?
Genymotion ?
jakiś android-chmurowo-webowy ?

Ważne żeby było jak najszybciej.
Aplikacje będą zarówno napisane w Javie , jak i PhoneGap.
Np. wiem, że PhoneGap można bezpośrednio w przeglądarce jak zwykły front-end patrzeć, ale wolałbym ustawić dobrze Androida.

0

Pytanie - Ty chcesz usprawnić proces deployowania samego wirtualnego urządzenia czy wgrywania aplikacji?

Emulator będzie wolniejszy niż normalne urządzenie (no chyba, że masz dobry komputer a telefon to low-budget - wtedy emulator go wyprzedzi).
Niemniej nijak ma się to do wgrywania samego apk, o którym też pisałeś. Android ma swój instalator plików .apk, więc wysyłanie czgokolwiek po ssh raczej niewiele zmieni. I tak trzeba to zainstalować, a poza tym - po co opuszczać wygodne adb?
adb install -r i lecisz :P

0
xfin napisał(a):

Pytanie - Ty chcesz usprawnić proces deployowania samego wirtualnego urządzenia czy wgrywania aplikacji?

Emulator będzie wolniejszy niż normalne urządzenie (no chyba, że masz dobry komputer a telefon to low-budget - wtedy emulator go wyprzedzi).
Niemniej nijak ma się to do wgrywania samego apk, o którym też pisałeś. Android ma swój instalator plików .apk, więc wysyłanie czgokolwiek po ssh raczej niewiele zmieni. I tak trzeba to zainstalować, a poza tym - po co opuszczać wygodne adb?
adb install -r i lecisz :P

chodzi mi żeby jak najszybciej świerzą skompilowaną *.apk wgrać + uruchomić na Androidzie

założmy że na emulatorze/telefonie/virtualbox/czymkolwiek jest sobie *.apk w wersji 0.9
dwa dni później mamy wersję 1.0

umiałbyś zrobić tak, żeby w 2 sekundy powiedzmy ulepszyła się wersja z 0.9 do 1 a kolejne 2 sekundy na włączenie, no i można sprawdzać?

pracowałem trochę przy Androdzie i wiem, że po prostu te emulatory wolno chodzą, stąd też moje pytanie.

adb install -r --> rozumiem, że na żywym telefonie? według ciebie praca z tą komendą i narzędziem najlepsza będzie?
do tej pory IDE ustawiałem i ono samo się samo jakoś łączyło...

0

@NieGooglujMnie
Wybacz, że tak długo, ale nie zawołałeś, więc nie czytałem tematu.

Z moich obecnych doświadczeń wynika, że aktualizacja w dwie sekundy to raczej nie jest rzecz możliwa. Wynika to głównie z faktu działania samego androida - jakakolwiek ingerencja w aplikację to uruchomienie pewnych mechanizmów systemowych.

Albo używasz adb uninstall -> adb install albo samego adb install -r. W pierwszym przypadku usuwasz wszystkie dane swojej aplikacji i robisz tzw. "świeżą instalację". W drugim z kolei dane są zachowywane.
Przykładowo - jeśli Twoja aplikacja używa bazy danych, tworzy jakieś pliki konfiguracyjne/tymczasowe (co oczywiście zabiera czas przy pierwszym uruchomieniu) to użycie -r zaoszczędzi Ci sporo czasu.

Do wszystkiego dochodzą oczywiście możliwości samego hardwaru - im lepszy telefon (tutaj raczej procesor wchodzi w grę, oczywiście pamięć też dorzuci swoje trzy grosze) tym krócej potrwa cała procedura.

I tak jak wspomniałem wyżej - używanie emulatora to zawsze jest kwestia zużycia zasobów komputera.
Emulator odpalony na porządnym pececie zawsze będzie szybszy niż bylejaki telefon z androidem. Tego tak naprawdę nie da się określić zero-jedynkowo. Z drugiej strony - jak masz porządny telefon - emulator staje się zbędny (pomijam zastosowania specyficzne jak np. testy pomiędzy dwoma emulatorami).

EDIT: rozumiem, że IDE to android studio. Sam używam do pisania, ale łatwiej jest mi samą instalację zrobić z konsoli. Niemniej debug jest przyjemniejszy z Android Studio.

0

Słyszałem, że ludziska chwalą GenyMotion, ale sam nie mam doświadczenia w pracy z nim.

https://www.genymotion.com/

0

Nie prościej sprawę wgrania aplikacji pozostawić android studio (zamiast kompilować za każdym razem do pliku apk co jest bardzo czasochłonne)? Te dwa procesy wbrew pozorom bardzo się różnią (mimo, że rezultat wydaje się być taki sam).
Obecnie emulator w w android studio 2.0 nawet bez włączonej funkcji instant run potrzebuje maksymalnie 5-6 sekund (przy niewielkich zmianach w kodzie ok 2 sekund) na zainstalowanie nowej wersji na telefonie.

0
Biały Pomidor napisał(a):

Słyszałem, że ludziska chwalą GenyMotion, ale sam nie mam doświadczenia w pracy z nim.

https://www.genymotion.com/

właśnie się zastanawiam nad tym, korzysta ktoś z tego? Lepiej to czy natywny telefon , czy emulator?

1 użytkowników online, w tym zalogowanych: 0, gości: 1