Проблема с 'Привет Android' учебное руководство

Я являюсь совершенно новым к Eclipse и Android, но несколько знакомым с Java. Это сказанное, я пытался следовать 'Привет Android' учебное руководство от сайта разработчика с помощью последнего Eclipse (Galieo) и 2,1 Android SDK, я нахожусь на Macintosh рабочий Snow Leopard (OS X 10.6). У меня есть виртуальное устройство по умолчанию (хотя моя цель на самом деле для телефонов как мой собственный HTC Incredible, который имеет процессор львиного зева и конечно все последнее снаряжение в смартфонах).

Все, казалось, пошло хорошо, пока я не перешел в RUN>RUN и затем выбранное 'Приложение Android'. Мой компьютер вращает свои колеса некоторое время, и затем я вижу две ошибки. Я вставил вывод от Eclipse ниже:

[2010-05-04 01:53:46 - HelloAndroid] ------------------------------
[2010-05-04 01:53:46 - HelloAndroid] Android Launch!
[2010-05-04 01:53:46 - HelloAndroid] adb is running normally.
[2010-05-04 01:53:46 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2010-05-04 01:53:46 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'myAVD'
[2010-05-04 01:53:46 - HelloAndroid] Launching a new emulator with Virtual Device 'myAVD'
[2010-05-04 01:53:58 - HelloAndroid] New emulator found: emulator-5554
[2010-05-04 01:53:58 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2010-05-04 01:53:59 - Emulator] 2010-05-04 01:53:59.501 emulator[10398:903] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2010-05-04 01:54:23 - HelloAndroid] emulator-5554 disconnected! Cancelling 'com.example.helloandroid.HelloAndroid activity launch'!

Я никогда не вижу текст в эмуляторе и катастрофических отказах эмулятора с сообщением об этом выходящий неожиданно.

Состояния отчета о катастрофическом отказе:

Process:         emulator [10472]
Path:            /Applications/android-sdk-mac_86/tools/emulator
Identifier:      emulator
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  eclipse [10468]

Date/Time:       2010-05-04 02:25:41.153 -0500
OS Version:      Mac OS X 10.6.3 (10D573)
Report Version:  6

Interval Since Last Report:          2558914 sec
Crashes Since Last Report:           4
Per-App Crashes Since Last Report:   2
Anonymous UUID:                      C5F178C1-5290-4CA9-AD6E-E9C4F5582754

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000001fd2f000
Crashed Thread:  3

Примечание: Выполнение эмулятора из командной строки с:

iainnitro-Mac:tools iainnitro$ ./emulator -avd myAVD

2010-05-04 02:49:23.011 emulator[10556:903] Warning once: This application, or a library it
uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw 
and move to Quartz.
Segmentation fault
iainnitro-Mac:tools iainnitro$

приводит к отказу сегментации (как отмечено выше от терминального вывода). Таким образом, эмулятор умирает самостоятельно, прежде чем что-либо можно будет показать.

Я попытался перезапустить процессы ADB.

Фактический код линию за линией из учебного руководства, и я никогда не мог добраться до части XML все же.

Я не уверен что не так с моей установкой среды или если это - просто несовместимость с Snow Leopard? Я ДЕЙСТВИТЕЛЬНО ценил бы любую справку в разрешении этого, поскольку я очень интересуюсь разработкой на этой платформе.

Слова благодарности,

Mike-N-Lawrence, Канзас

5
задан lpapp 13 May 2014 в 04:11
поделиться

3 ответа

Это обсуждалось с двумя предложенными решениями http://code.google.com/p/android/issues/detail?id=724

Комментарий 17 от zachrcrowe , 06 января 2010 г. К вашему сведению - мне пришлось изменить строку в примере Hello Android, чтобы читать this.setContentView (tv); для того, чтобы он работал. Как упоминалось выше, предупреждение об устаревании не должно влиять на функциональность эмулятора.

Комментарий 18, автор: mfrony, 14 января 2010 г. У меня была такая же проблема, когда я запускал пример Hello Android. Я решил эту проблему и смог запустить свой первый код для Android, изменив цель сборки проекта с 1.1 на 1.5.

1
ответ дан 14 December 2019 в 13:29
поделиться

По какой-то причине я перестал получать ошибку сегментации, когда добавил:

this.setContentView(tv);

"this", похоже, решил проблему. Ошибка seg возникает, если вы пытаетесь запустить эмулятор без какого-либо файла .apk, как я полагаю. (Я тоже получал это из командной строки). Надеюсь, учебник будет обновлен.

0
ответ дан 14 December 2019 в 13:29
поделиться

Прямого опыта нет, но, похоже, это повторяющаяся проблема:

Эта тема предполагает:

Вы не дали эмулятору загрузиться до конца. Запустите его и подождите, пока не появится рабочий стол, как на настоящем телефоне.

В этой теме упоминается (я подозреваю, что пункт 1. не является для вас проблемой):

  1. Возьмите больше оперативной памяти. Я работал на 256 МБ (что, как я полагаю, ниже минимальных требований), только сегодня обновил до 1024 МБ (давно собирался), приложение теперь запускается нормально. Хотя я все еще вижу некоторые сообщения об ошибках в эмуляторе, они, похоже, ничего не делают.

  2. Установка из командной строки. Это немного трудоемко, но вы можете запустить эмулятор из командной строки (при условии, что \tools добавлен в переменную PATH), просто введите emulator, затем перейдите к расположению your_app_here. apk, и выполните

adb install your_app_here.apk

Если вы запускаете эмулятор из Eclipse, сначала выполните adb kill-service, а затем adb start-service (или kill-server / start-server. не уверен в точности команд). После этого ваше приложение будет установлено на эмуляторе.


Также (немного старый, но может быть все еще актуальным)

Возможно, эмулятор работает так медленно, а adb-сервер или другой компонент, например "DDMS", немного "отчаялся", потому что, похоже, он ждет, пока эмулятор инициализирует какое-то HOME приложение.
Но эмулятор работает медленно, консоль в Eclipse выдает сообщение: emulator-5554 отключен! Отмена запуска 'com.android.hello.HelloAndroid'!; и эмулятор продолжает работать нормально и загружать свою систему, но не запускает приложение, которое я создал.

Поэтому для решения этой проблемы я запускаю программу, и когда эмулятор открывается, я возвращаюсь в eclipse в DDMS Perspective и на вкладке Device нажимаю кнопку "restart adb server", после чего консоль показывает мне сообщение "emulator-5554 disconnected! ".
Я делаю это несколько раз, пока эмулятор наконец не загрузит ОС.
После загрузки ОС на эмуляторе, eclipse не отправляет ошибку разъединения, а "отправляет" приложение, которое я создал, также в консоли появляются сообщения об этом.
Затем наконец-то появляется на мобильном "Hello, Android".

3
ответ дан 14 December 2019 в 13:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: