пʼятниця, 22 листопада 2013 р.

Android: проблеми з емулятором.

     Трапилося декілька історій з емулятором. По-перше, довгий час мене задовбували такі повідомлення після запуску написаної програмки:
- Unfortunately, your_program_name has stopped
- Unfortunately, Launcher has stopped




     Довго не міг зрозуміти, що я роблю не так і чим провинився перед зеленим чоловічком. В неті знайшов тільки одне пояснення - в менеджері віртуальних пристроїв андроїда потрібно збільшити розмір пам'яті VM Heap та RAM. Я і збільшував, кожного разу в два рази (наприклад, для VM Heap - 16 Мб, 32 Мб, 64 Мб, 128 Мб), потім тестував - здається, що після 256 Мб емулятор взагалі перестав запускатись. Переборщив.


     Потім потестував на інших компах в універі - також не працює. Значить проблема не в пам'яті.

    В коді була проблема. В цьому особливість програмування під Андроїд - тестити програму можна тільки запустивши емулятор. А це забирає час, особливо, коли він не запускається. Повідомлень про помилку,  в якому рядку вона може знаходитись, як при розробці звичайних Джава-програм, немає. Тому виловити їх трохи складніше.

     Отже, якщо маєте такі самі повідомлення, то причини можливі дві: або дійсно потрібно додати пам'яті в налаштуваннях емулятора (як радить розум інтернету), або потрібно підправити свій код.

     Інша проблема - запустив програму і одночасно запустив новий емулятор (опція Launch a new Android Virtual Device)


     Довго чекав. Дуже довго. Після чого отримав червоним по білому Failed to install ххххх.apk on device 'emulator-5554! Launch canceled!:



     Декілька разів перезапускав. Довго вдивлявся в код, та жодних помилок так і не знайшов. Але інтернет підказує, що можлива проблема в черговості виконання - спочатку краще запустити сам емулятор (кнопка Android Virtual Device Manager) , а потім уже вашу програмку (команда меню Run -> Run). Якщо все нормально, то в консолі Eclipse ви повинні побачити таке повідомлення:

[2013-11-22 00:57:50 - test] Installing Devoir3.apk...
[2013-11-22 00:58:56 - test] Success!
[2013-11-22 00:58:56 - test] Starting activity com.example.devoir3.Fenetre1 on device emulator-5554



     І ще одна порада, для запуску програми потрібно:
- зберегти всі зміни;
- активним має бути вікно джава-коду  для головного актівіті, там повинен знаходитись курсор миші.

     Інакше програма просто не запуститься і ви будете собі довго задавати питання "Чому?", відповідь на яке може прийти дуже не скоро. Перевірено.


Немає коментарів:

Дописати коментар