2012-01-03 2 views
3

Я пытаюсь разработать свое первое приложение для Android через плагины ADT для Eclipse. Я загрузил и установил как ADT, так и Android SDK и создал проект Android HelloAndroid. Я создал новый AVD под названием HelloAndroidEmulator1 только для тестирования моего приложения HelloAndroid.Android Launch не работает

Когда я иду, чтобы запустить свой проект (коренящийся в HelloAndroidActivity.java, который был автогенерирован для меня), я получаю некоторые странные ошибки. Я не изменил ни одного исходного кода, созданного для Eclipse для меня, и не добавил ни одного моего собственного кода. Я просто пытаюсь скомпилировать и запустить то, что было автогенерировано.

Когда я смотрю в графическом макете в layout/main.xml файла, я вижу рендеринг моего приложения отображает текст:

HelloAndroid 

Hello World, HelloAndroidActivity! 

Где HelloAndroid этого имя моего проекта Eclipse, и HelloAndroidActivity этого имя моего главного водителя что Затмение делает для меня.

Когда я иду фактически запускать приложение, я вообще не получаю ничего подобного. Эмулятор нагрузки, и примерно через 60 секунд отображения запуска «андроид» заставка, он начинает грузиться, но потом дает мне ошибку:

Launcher is not responding. Would you like to close it?

Назад в Eclipse, мой вывод консоли выглядит следующим образом (после того, как я закрыл гранатомет):

[2012-01-03 11:23:23 - HelloAndroid] ------------------------------ 
[2012-01-03 11:23:23 - HelloAndroid] Android Launch! 
[2012-01-03 11:23:23 - HelloAndroid] adb is running normally. 
[2012-01-03 11:23:23 - HelloAndroid] Performing  net.me.myprojects.android.proj.HelloAndroidActivity activity launch 
[2012-01-03 11:23:23 - HelloAndroid] Automatic Target Mode: Preferred AVD 'HelloAndroidEmulator1' is not available. Launching new emulator. 
[2012-01-03 11:23:23 - HelloAndroid] Launching a new emulator with Virtual Device 'HelloAndroidEmulator1' 
[2012-01-03 11:23:36 - Emulator] emulator: WARNING: Unable to create sensors port: Unknown error 
[2012-01-03 11:23:36 - HelloAndroid] New emulator found: emulator-5554 
[2012-01-03 11:23:36 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched... 
[2012-01-03 11:25:00 - HelloAndroid] HOME is up on device 'emulator-5554' 
[2012-01-03 11:25:00 - HelloAndroid] Uploading HelloAndroid.apk onto device 'emulator-5554' 
[2012-01-03 11:25:00 - HelloAndroid] Installing HelloAndroid.apk... 
[2012-01-03 11:27:03 - HelloAndroid] Failed to install HelloAndroid.apk on device 'emulator-5554! 
[2012-01-03 11:27:03 - HelloAndroid] (null) 
[2012-01-03 11:27:03 - HelloAndroid] Failed to install HelloAndroid.apk on device 'emulator-5554': EOF 
[2012-01-03 11:27:03 - HelloAndroid] com.android.ddmlib.InstallException: EOF 
[2012-01-03 11:27:03 - HelloAndroid] Launch canceled! 

Я попытался найти в Интернете, но не смогли найти ничего, что выпрыгнул как ясный преступник. Я не должен быть установлен или настроен правильно что-то, но я могу подтвердить, что:

  • ADT установлен внутри Eclipse,
  • В SDK устанавливается под C:\Users\me\android-sdk
  • можно открывать и редактировать как SDK и AVD менеджеров

Редактировать: Вот источник HelloAndroidActivity.java:

package net.me.myprojects.android.proj; 

import android.app.Activity; 
import android.os.Bundle; 

public class HelloAndroidActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

Любые идеи относительно того, что здесь происходит?!?! Заранее спасибо!

ответ

3

Попробуйте несколько исправлений:

  1. Выключите эмулятор и IDE и перезапустить приложение.
  2. Окно -> Android SDK и AVD Manager -> Создайте новый менеджер AVD с другим именем и запустите его.

Если это не сработает, то дайте мне свой класс HelloAndroidActivity. Я попытаюсь запустить его на своей машине и увижу.

Добавить текст к нему ..

public class HelloAndroidActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TextView tv = new TextView(this); 
     tv.setText("Hello, Android"); 
     setContentView(tv); 
    } 
} 

Если вы по-прежнему получаете какую-либо ошибку, следуйте этому руководству. Android Tutorial

+0

Спасибо, Санджай. Я сделал то, что вы предложили, и я получаю ту же ошибку со вторым эмулятором. См. Мое редактирование, которое включает источник для HelloAndroidActivity. Еще раз спасибо! – IAmYourFaja

+5

Почему это принятый ответ, если он не работает. –

+0

Я считаю, что мы не можем создавать новых менеджеров AVD с разными именами всякий раз, когда мы получаем эту ошибку. Там должен быть лучший путь. Также я согласен с IAmYourFaja. – LearningEveryday

0

Запустите эмулятор вручную и проверьте, установлено ли ваше приложение. Если его установить, просто удалите его и повторите попытку, чтобы запустить приложение с помощью eclipse.

+0

Gingerbread - как мне найти мой AVDS, так что я могу запустить эмулятор из командной строки? – IAmYourFaja

+0

Просто перейдите в ящик приложения в своем эмуляторе, в котором перечислены все приложения. Тогда ищите свою деятельность. Если его уже установлен, просто запустите или удалите его. – Gingerbread123321

+0

Gingerbread - когда я пытаюсь запустить эмулятор через: 'emulator.exe @ HelloAndroidEmulator2' Я получаю сообщение об ошибке:' PANIC: не удалось открыть C: \ path \ to \ android-home \ avd \ HelloAndroidEmulator2.avd.ini – IAmYourFaja

1

У меня была такая же ошибка, когда я работал с новым приложением, которое использовало SQLite.

В любом случае проблема заключалась в том, что даже после закрытия Eclipse и эмулятора .. в диспетчере задач процесс adb.exe или abd.exe * 32 все еще работал.

Шаги:
1. Закрыть затмение и эмулятор.
2. Убейте процесс adb.exe или abd.exe * 32.
3. Запустите свое затмение, аккуратно создайте свое приложение один раз и его почти как новый.

Счастливое кодирование.

0

Для меня ошибка исчезла сама по себе после попытки повторного запуска несколько раз. Возможно, через некоторое время система отфильтровала себя из старой копии в памяти.

5

Убедитесь, что виртуальное устройство имеет размер карты SD действует (то есть больше, чем 0)

+0

Сделал трюк для меня, забыл заполнить поле размера SD-карты. – mvdb