2010-02-23 8 views
17

Próbuję Androida SDK po raz pierwszy. Zaczynam od samouczka HelloAndroid. podążał dokładnie za każdym krokiem, ale emulator uruchamia się bez mojej aplikacji. eclipse konsola mówi:Problem z emulatorem HelloAndroid

[2010-02-23 11:47:55 - HelloAndroid]------------------------------ 
[2010-02-23 11:47:55 - HelloAndroid]Android Launch! 
[2010-02-23 11:47:55 - HelloAndroid]adb is running normally. 
[2010-02-23 11:47:55 - HelloAndroid]Performing com.example.helloandroid.HelloAndroid activity launch 
[2010-02-23 11:47:55 - HelloAndroid]Automatic Target Mode: Preferred AVD 'my_avd' is not available. Launching new emulator. 
[2010-02-23 11:47:55 - HelloAndroid]Launching a new emulator with Virtual Device 'my_avd' [2010-02-23 11:48:09 - HelloAndroid]New emulator found: emulator-5554 
[2010-02-23 11:48:09 - HelloAndroid]Waiting for HOME ('android.process.acore') to be launched... 

widzę emulatora Androida, na „„”tekst” na niego, ale nic się nie dzieje. Czy ktoś może pomóc? dzięki!

+0

Znalazłem zaporę sieciową Comodo, która uniemożliwiała zaćmienie rozmowę z emulatorem - zdecydowanie zaleciłbym wyłączenie wszystkich zapór firewallowych, zanim posuną się za daleko. – Pete

Odpowiedz

18

Podsumowanie
(Możesz zobaczyć pełne szczegóły poniżej tych podsumowanych kroków).

  1. instalację/ponowną Android SDK folderu przy C: \ (nie obowiązuje w path)
  2. ponownie utworzyć AVD.
  3. Ustawienie zmiennej środowiskowej PATH dla lokalizacji nowego folderu SDK systemu Android
  4. Odinstaluj/zainstaluj dodatek Android ADT w środowisku Eclipse.
  5. Skonfiguruj lokalizację zestawu SDK systemu Android w środowisku Eclipse.
  6. Restart (w celu zmniejszenia wykorzystania procesora)
  7. Uruchom emulator z wiersza poleceń i ustaw go tak, aby używał wszystkich procesorów z priorytetem wysokim lub "Real Time". Zanotuj użycie procesora.
  8. Otwórz aplikację Eclipse i uruchom aplikację.

Szczegóły
spędziłem dwa dni coraz emulatora do uruchomienia HelloAndroid aplikację. W moim przypadku problem mógł być połączeniem problemu z instalacją zestawu SDK systemu Android i problemu z wydajnością procesora. Wydaje mi się, że emulator działał bardzo wolno, sprawiając, że emulator wydawał się zawieszony. Mój komputer to 64-bitowy 64-bitowy komputer PC z procesorem Intel i7 z systemem Windows 7. Menedżer zadań pokazuje 8 procesorów na moim komputerze w tagu wydajności.

Mój symptom był Android 2.2 AVD w emulatorze wydawał się zawiesić, gdy na ekranie pojawił się tekst "Android". Ekran główny nigdy się nie wyświetli. Ten scenariusz zdarzał się w kółko. Często czekam 30 minut lub 45 minut bez skutku.

Moja okolica:

  • Android SDK Revision 12
  • Android 2.2 AVD
  • Windows 7 64-bit
  • Eclipse IDE for Java Developers Indigo Release Budowanie id 20110615-0604
  • Intel Wielordzeniowy procesor Core i7, 6 GB, 1,6 GHz

Próbowałem uruchomić emulator z wiersza poleceń bez uruchamiania Eclipse w wierszu polecenia, a to nie pomogło. Emulator wciąż wisiał. Zauważyłem, że Menedżer zadań pokazał moje pudełko przy użyciu procesora 50%, które wydawało się dość wysokie. Procesor 0 został ustalony na 100%.

Oto, co to naprawiło.

Odinstalowałem zestaw SDK systemu Android R12 i ponownie go zainstalowałem z katalogu głównego C: at C: \ android-sdk. Wcześniej miałem problemy, ponieważ pakiet SDK Androida znajdował się w folderze "C: \ Program Files"; SDK zawiera błąd, który nie może obsłużyć miejsca na ścieżce. Uruchomiłem "uninstall.exe" z folderu SDK systemu Android, aby odinstalować. Deinstalacja zajęła więcej czasu niż instalacja.

Dodałem "; C: \ android-sdk \ tools \; C: \ android-sdk \ platform-tools \" do zmiennej środowiskowej PATH.

Następnie usunąłem AVD za pomocą Menedżera SDK i odtworzyłem go.

Odinstalowałem wtyczkę ADT dla Eclipse, zrestartowałem Eclipse, następnie ponownie zainstalowałem wtyczkę ADT, a następnie zamknąłem Eclipse.

Zrekonfigurowałem Eclipse za pomocą nowej ścieżki SDK systemu Android (Okno> Preferencje> Android> Lokalizacja SDK).

Na karcie Procesy zarządzania zadaniami włączono opcję "Pokaż procesy od wszystkich użytkowników". Następnie kliknąłem prawym przyciskiem myszy "emulator-arm.exe * 32", a następnie kliknąłem "Ustaw powinowactwo ..." i zauważyłem, że emulator został ustawiony tak, aby używać tylko procesora 0, więc zmieniłem go, aby używać wszystkich procesorów. Ustawiłem też emulator na priorytet "Real Time".

Obserwując użycie procesora 50%, uruchomiłem ponownie.

Po ponownym uruchomieniu komputera, zacząłem emulatora za pomocą wiersza polecenia:

emulator @Android22 

Android22 to nazwa mojego AVD. Użyłem menedżera zadań, aby ustawić powinowactwo emulatora do korzystania z wszystkich procesorów i ustawić priorytet na wysoki. Moje wykorzystanie procesora wynosi teraz około 13%, głównie dzięki emulatorowi. Emulator trwał około 3 minuty, aby wyświetlić ekran główny. Yay!

Następnie otworzyłem Eclipse z aplikacją HelloAndroid i aplikacja z powodzeniem uruchomiona w emulatorze.

Napisałem szczegółowo, co zrobiłem, ponieważ ostatnie dwa dni były prawdziwym bólem. Zauważyłem kilka postów na ten temat, a wiele osób nie odnosiło sukcesu. Wykonałem kroki wymienione w kilku postach, ale nie znalazłem jednego miejsca, które opisywałoby cały proces.

Powodzenia. Mam nadzieję, że ta informacja pomoże komuś.

+0

Powolny/zawieszony emulator się powtórzył. Emulator najwyraźniej przestał działać. Kiedy próbowałem uruchomić samouczek Notatnika używając Eclipse, Eclipse uruchomił emulator, ale emulator wisiał na animowanym ekranie "Android". Mój procesor działał na procesorze w przybliżeniu w 50%. Ponownie uruchomiłem komputer i zweryfikowałem, że użycie procesora było normalne (1% - 3% użycia procesora). Następnie uruchomiłem emulator z wiersza poleceń. Następnie użyłem menedżera zadań, aby ustawić powinowactwo emulatora do "Wszystkich procesorów" zamiast tylko jednego procesora. Emulator załadował się 2 minuty. – walkerk

+0

Zastanawiam się, czy wysokie użycie procesora występuje, gdy emulator nie jest już uruchomiony, a Eclipse próbuje uruchomić emulator. – walkerk

7

Ładowanie. Możesz sprawdzić postęp ładowania w logcat z DDMS lub adb shell logcat.

Załadowanie emulatora zajmuje trochę czasu, ale pamiętaj, że nie musisz go ponownie uruchamiać po aktualizacji kodu. Po prostu trafiłeś Run as... w stan zaćmienia, a zajmie się załadowaniem i ponownym zainstalowaniem w emu.

Pamiętaj też, że możesz używać telefonu zamiast emulatora. Zwykle używam mojego telefonu, gdy komputer, nad którym pracuję, jest zbyt wolny.

Życzymy powodzenia w rozwoju Androida!

+0

Dzięki. to naprawdę ładowało się ostatecznie. – oriharel

7

A może to tylko ja, ale zajęło mi trochę czasu, aby dowiedzieć się, co to jest "LogCat", o którym czytałem.

Jeśli używasz środowiska Eclipse, wykonaj polecenie "Okno/Pokaż widok/inne". Następnie wpisz "LogCat" w polu "Pokaż widok", a pojawi się "Android-> LogCat". Wybierz tę opcję, a teraz będziesz mieć kartę LogCat wyświetlającą informacje wyjściowe. Możesz kontrolować poziom informacji wyświetlanych za pomocą przycisków "VDIWE" w prawym górnym rogu.

+1

Dzięki. to naprawdę pomaga uspokajać, że coś faktycznie dzieje się w tle ... – oriharel

1

po appliying powyższe rozwiązania spróbuj edycji AVD, ustaw „Max VM rozmiar sterty aplikacji” własność sprzętu do 192 lub wyższej i odebrać skórę QVGA. Miałem ten sam problem i przy tych ustawieniach AVD załadowano w mniej niż minutę.

0

Wydaje się preferowanym rozwiązaniem jest zakup jednego z „Android Dev komórkowe”, jak reklamowane na stronie Android dewelopera.

Prawie dwa lata później problemy emulatora są wciąż takie same. W najnowszym Eclipse z najnowszą wtyczką, po awarii emulatora zużycie procesora wynosi 30%, zużywane przez bombastyczną animację w emulatorze.

Eclipse plugin ma dziennika widok logcat z możliwością zaoszczędzenia wyjście do pliku. Ta opcja tworzy plik długości 0 z wybranymi wszystkimi wpisami.

To nie jest oprogramowanie. To jest coś innego.

1

Zgadzam się z geniuszem powyżej

miał ten sam problem (zatrzymany na loading „domu”), przypomniał mi problemu pobierania miałem (zatrzymany na 99% i nie iść dalej -> (tak, no a noob, ale wciąż mi to przypominało)) iw połączeniu z głęboko zakorzenioną nienawiścią do jakiejkolwiek zapory ogniowej i oprogramowania chroniącego przed wirusami dostarczyły mi silnego szału berserkera, który zniszczył wszystko, co tylko w najmniejszym stopniu przypominało słowo " ochrona”

-> emulator pracował dobrze po!

  • nadal trwało 6-7 minut, aby załadować emulatora, ale „logcat” może pomóc zabicia czasu :)
0

Dla tych, napotykając ten wątek ze względu na nowsze wydania, pozwala mi zapewnić następujący. Mam nadzieję, że zaoszczędzi to ludziom kilka dni utraty produktywności i ciągnięcia za włosy.

Ostatnia robocza wersja Google SDK (zawartość folderu Tools) była w wersji 22.3, ale starsze, działające wersje nie znajdują się już w pliku XML (https://dl-ssl.google.com/android/repository/repository-8.xml), więc nie ma wyraźnej ścieżki downgrade z poziomu GUI.

Problem ten powoduje problem opisany przez OP dla wszystkich „Intel” API wersji przed 19, testowanego i „warunek wyjątkowy zmiennoprzecinkowy” Intel API-19. Zauważ, że emulatory wersji Arm będą działały, chociaż znacznie wolniej, jeśli używasz przyspieszenia Intel.

Problemem jest udokumentowana w tym wątku, który nie odkryć aż próbuje API-19, tak że błąd „zmiennoprzecinkowych” dostarczył mecz Google wyszukiwarki:

https://code.google.com/p/android/issues/detail?id=66786

jedno rozwiązanie jest implementacją Virtual Boxa genymotion, chociaż wymaga dość nowej wersji glibc, jeszcze nie w stabilnej wersji Debiana lub CentOS. (Właśnie spędziłem dzień instalując OpenSUSE, aby móc "wrócić do pracy" zanim znajdę poprawkę, powyżej).

Najszybszym rozwiązaniem jest zmiana nazwy "Narzędzia" (w folderze "android-sdks") na "Broken-tools", a następnie pobranie starszej wersji, która znajduje się w wątku powyżej (w jakiś sposób): http://dl.google.com/android/android-sdk_r22.3-linux.tgz http://dl.google.com/android/android-sdk_r22.3-windows.zip

Po otwarciu tgz, będzie znaleźć zaludnione „Narzędzia” folder, który można skopiować do własnego „android SDK” folder, gdzie ponownie nazwie starsza wersja do „broken-Tools” powyżej.

Jeśli te linki (do wersji innych niż alfa promowane jako "stabilne") powinny umrzeć, należy pamiętać, że inne kopie istnieją w innych nieoficjalnych lokalizacjach (bez wątpienia publikowane przez innych "sfrustrowanych" programistów próbujących pomóc swoim kolegom) .

Dzięki Macarse za skierowanie mnie do "logcat powłoki adb", która pozwoliła mi zlokalizować "awaryjną pętlę", która występuje w wersjach poprzedzających 19 interfejsów API, tworząc zachowanie "Android Splash Screen Forever", które koncentruje się wokół błąd "SSLCertificateSocketFactory".