Android启动失败。

3
我正在尝试通过Eclipse的ADT插件开发我的第一个Android应用程序。我已经下载并安装了ADT和Android SDK,并创建了一个名为HelloAndroid的Android项目。我创建了一个名为HelloAndroidEmulator1的新AVD,只是为了测试我的HelloAndroid应用程序。
当我运行我的项目(以由Eclipse自动生成的HelloAndroidActivity.java为根)时,我遇到了一些奇怪的错误。我没有更改Eclipse为我生成的任何源代码,也没有添加任何自己的代码。我只是试图编译和运行自动生成的内容。
当我查看layout/main.xml文件的图形布局时,我看到一个呈现我的应用程序文本的渲染:
HelloAndroid

Hello World, HelloAndroidActivity!

HelloAndroid是我的Eclipse项目名称,HelloAndroidActivity是Eclipse为我创建的主驱动程序名称。

当我实际运行应用程序时,我根本没有得到任何像那样的输出。模拟器加载完成后,大约在显示启动"android"闪屏画面60秒后,开始加载但是给了我一个错误:

启动器未响应。您想关闭它吗?

回到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);
    }
}

有什么想法关于这里正在发生什么?!?!提前感谢!
5个回答

5
请确保您的虚拟设备具有有效的SD卡容量(即大于0)。

对我有用,忘记填写SD卡大小字段了。 - MartijnvdB

3
尝试以下几种解决方案:
  1. 关闭模拟器和IDE,然后重新启动应用程序。
  2. 选择“Window -> 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 教程

谢谢Sanjay。我按照你的建议做了,但第二个模拟器还是出现了相同的错误。请查看我的编辑,其中包括HelloAndroidActivity的源代码。再次感谢! - IAmYourFaja
我认为每当我们遇到这个错误时,我们不能创建具有不同名称的新AVD管理器。必须有更好的方法。同时,我同意IAmYourFaja的观点。 - LearningEveryday

1

对我来说,在尝试多次重新运行后,错误自行消失了。可能系统在一段时间后过滤掉了内存中的某些旧副本。


1

我在使用SQLite的新应用程序时遇到了相同的错误。

无论如何,问题是即使在关闭Eclipse和模拟器后,在任务管理器中进程adb.exe或abd.exe * 32仍在运行。

步骤:
1. 关闭Eclipse和模拟器。
2. 结束进程adb.exe或abd.exe * 32。
3. 启动Eclipse,清除构建您的应用程序一次,它几乎像新的一样。

愉快的编码。


0

手动启动模拟器并检查您的应用是否已安装。如果已安装,请将其删除,然后使用Eclipse重试启动您的应用程序。


姜饼 - 我该如何找到我的 AVD,以便我可以从命令行运行模拟器? - IAmYourFaja
只需进入模拟器中的应用程序抽屉,那里列出了所有应用程序。然后查找您的活动。如果已安装,只需启动或删除即可。 - Gingerbread123321
姜饼 - 当我尝试通过 emulator.exe @HelloAndroidEmulator2 启动模拟器时,我收到一个错误消息:PANIC: Could not open C:\path\to\android-home\avd\HelloAndroidEmulator2.avd.ini - IAmYourFaja
我想我甚至不知道如何启动模拟器,以便首先获取我的“应用程序抽屉”... - IAmYourFaja
哦...那么错误与您的源代码和应用程序无关。尝试启动SDK管理器并搜索新的更新并全部安装。也许这会有所帮助... - Gingerbread123321
它列出的唯一更新是针对其他API的,我非常确定我不需要/想要。 - IAmYourFaja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接