Android无法在设备上安装HelloWorld.apk(null)错误

时间:2011-03-08 08:07:45

标签: android eclipse android-install-apk

我是Android新手。当我在eclipse中运行我的android应用程序时,我在控制台中收到这些消息:

[2011-03-08 12:57:35 - HelloWorld] ------------------------------
[2011-03-08 12:57:35 - HelloWorld] Android Launch!
[2011-03-08 12:57:35 - HelloWorld] adb is running normally.
[2011-03-08 12:57:35 - HelloWorld] Performing com.oreilly.helloworld.HelloWorldActivity activity launch
[2011-03-08 12:57:35 - HelloWorld] Automatic Target Mode: Preferred AVD 'MY_AVD' is not available. Launching new emulator.
[2011-03-08 12:57:35 - HelloWorld] Launching a new emulator with Virtual Device 'MY_AVD'
[2011-03-08 12:57:39 - HelloWorld] New emulator found: emulator-5554
[2011-03-08 12:57:39 - HelloWorld] Waiting for HOME ('android.process.acore') to be launched...
[2011-03-08 13:00:14 - HelloWorld] WARNING: Application does not specify an API level requirement!
[2011-03-08 13:00:14 - HelloWorld] Device API version is 11 (Android 3.0)
[2011-03-08 13:00:14 - HelloWorld] HOME is up on device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Uploading HelloWorld.apk onto device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Installing HelloWorld.apk...
[2011-03-08 13:02:22 - HelloWorld] Failed to install HelloWorld.apk on device 'emulator-5554!
[2011-03-08 13:02:22 - HelloWorld] (null)
[2011-03-08 13:02:23 - HelloWorld] Launch canceled!

如何解决问题以便我的应用程序启动?

22 个答案:

答案 0 :(得分:103)

尝试更改ADB连接超时。我认为它默认为5000毫秒,我把我改为10000毫秒来解决这个问题。如果您在Eclipse中,可以通过浏览Window - >来完成此操作。首选项然后它在Android下的DDMS中。

如下所述:Android error: Failed to install *.apk on device *: timeout

答案 1 :(得分:9)

重启设备对我有用。使用adb install可以安装apk,但是在eclipse中调试时每次启动应用程序时使用它都很烦人。

答案 2 :(得分:8)

我不时得到这个,但它通常与模拟器启动缓慢有关。再次尝试,不用在重试之间关闭模拟器。如果仍然失败,请发布客户端日志(logcat)。

另一个原因可能是ghost Eclipse进程在后台运行并且仍然绑定到调试端口。关闭eclipse,查看进程列表,看看是否还在运行Eclipse。杀掉所有这些并重新启动Eclipse。

答案 3 :(得分:4)

您可能需要考虑的其他方法是通过擦除用户数据来重置模拟器。

为了做到这一点,你: - 右键单击​​包浏览器中的项目名称 - 转到'运行'然后'运行配置' - 在“运行配置”窗口中,单击“目标”选项卡 - 然后勾选所选模拟器的名称 - 勾选“擦除用户数据”,点击“应用”

下次启动模拟器时,它会提示您询问是否确实要擦除数据。单击是,希望它可以帮助您安装应用程序。

答案 4 :(得分:4)

如果您在Android模拟器上运行它,则不希望在运行之间关闭它。系统将尝试加载应用程序,它将超时,因为模拟器启动需要多长时间。你可以通过转到Window - >来增加ADB时间来解决这个问题。偏好 - > Android - > DDMS并增加ADB超时(默认为5000毫秒)或者让仿真器保持打开状态,并在仿真器启动并运行后立即运行它。

我个人会建议让模拟器保持打开状态,因为它一旦运行就会相对快速地加载应用程序,但它可能会耗尽系统。做任何对你有帮助的人。

答案 5 :(得分:3)

我遇到了同样的问题并通过将Android SDK文件夹工具 platform-tools 的路径添加到系统PATH变量来解决了这个问题重启设备。

答案 6 :(得分:2)

如果拔出设备并将其重新插入不起作用,请尝试将上传超时时间增加到20000毫秒之间。它位于Window→首选项→Android→DDMS→“ADB连接超时(ms)”。

答案 7 :(得分:2)

我遇到了同样的问题并试图增加ADB连接超时......没有用。

我尝试将“android-sdk / tools”和“android-sdk / platform-tools”放在PATH变量中....没有效果。

我尝试重新启动Eclipse并在运行之前让AVD启动。同样的问题。

我有时可以通过关闭和重新打开项目,然后清理和重建项目来实现它。它并不总是有效,但由于我最后一次没有重新启动AVD,我认为问题在于Eclipse本身。您可以尝试删除项目“bin”目录中的所有内容,然后清除并重建。可能是某些临时或中间文件未被正确删除。我要做的另一件事是删除我的AVD。它没有正确删除,我不得不进入并手动删除AVD的子文件夹,然后重新创建AVD。这些的一些组合暂时解决了这个问题。希望有所帮助。

答案 8 :(得分:2)

我遇到同样的问题:无法在设备'xxxxxxxxx'上安装test.apk:null

我尝试重新启动手机,重启Eclipse,什么都没有!

然后,我从Eclipse工作区中删除此项目,然后再次导入。 (文件,导入,现有项目到工作区)。我不知道究竟是什么问题,但现在工作正常。

答案 9 :(得分:2)

@Bolton的回答对我有用。 一些细节...

几周前我拿到了手机。我立即尝试了HelloAndroid示例应用程序(在安装了req'd软件之后等)。该应用程序在模拟器和电话上工作 - 马上!

在那之后不久,我根植了我的手机,但没有闪光任何roms或内核。直到昨天我才在模拟器上进行实验(编写一个简单的记事本应用程序)。当我尝试在手机上调试应用程序时,这就是我观察到的内容:

  1. Eclipse控制台报告“...无法在设备上安装...(null)”消息。 BUT

  2. HelloAndroid应用程序DID被推送到手机! (它出现在应用程序抽屉中,我能够启动它。)

  3. 它不会从Eclipse运行中在手机上启动。

  4. 昨晚我在这里和其他地方搜索过(包括这个帖子)没有运气。最后,我重新启动了手机 - 我从未尝试过(doh!)因为我认为它不会有所作为 - 从Eclipse开始启动应用程序!

    仍然不知道原因,但如果我弄清楚的话,我会回到这里。

答案 10 :(得分:2)

只需尝试以下步骤,

  1. 在开始运行应用程序之前,请转到主屏幕。
  2. 无需每次都卸载。只需正确卸载您的应用程序。

    转到设置 - >管理应用程序 - >点击菜单 - >过滤器 - >第三方申请。 检查您的申请是否存在。

  3. 修改应用程序后,只需保存即可。右键单击您的项目,然后选择“作为Android应用程序运行”。
  4. 注意:在运行应用程序之前,请再次检查您的模拟器是否显示主屏幕。

  5. 进入主屏幕:从eclipse转到菜单:window-> android virtual device-> start

答案 11 :(得分:1)

我导入了一个现有项目并开始运行...... 我也遇到了同样的问题(警告:应用程序未指定API Device API版本为11(Android 3.0))。在我尝试解决该问题失败后,我只是在其他包下创建了新项目以保持相同的名称并手动复制以前的imporetd项目的所有文件内容并再次开始运行...令我惊讶的是它在我的第一次成功执行尝试...我认为这个问题是由于导入时版本缺乏兼容性...我希望它可能会帮助很少...

答案 12 :(得分:1)

我一次又一次地面对这个问题。围绕很多论坛,但找不到合适的问题。

我以前收到此错误消息, 。 。 。 将test.apk上传到设备'emulator-5554' 无法在设备'emulator-5554'上安装test.apk:超时 发布已取消!

因为模拟器的启动和应用程序的部署需要一些重要的时间而且仿真器超时之前会抛出此错误。

解决此问题的一个简单方法是在发生此问题时保持模拟器处于打开状态,* 再次运行该应用程序。这仅将应用程序部署到已启动的模拟器* 。在此次运行期间消耗的时间不多,因为应用程序部署期间的主要部分时间是因为模拟器启动缓慢。

希望这有帮助!

答案 13 :(得分:1)

至于我,我遇到了同样的问题,它有助于增加SD卷和最大VM应用堆大小。 (Android SDK和AVD管理器 - 虚拟设备 - 编辑) 有趣的是,SD和堆回到以前的值的后退也是可以的。这意味着,模拟器参数的任何更改及其重建都足够了。 (简单重启无济于事)

答案 14 :(得分:0)

进行设置 - 如果选中安全验证应用,则更改为未选中状态,然后更改为已检查状态

答案 15 :(得分:0)

好的,这种方法仅在您连接到真实设备而非Android模拟器时才有用。

当设备的USB调试模式出现问题时,重置DDMS ADB连接超时将无法与真实设备很好地协作。

因此,禁用和重新启用USB调试模式似乎可以通过在设备上创建新的新ADB会话来解决此问题。

答案 16 :(得分:0)

重新启动ADT或尝试更改ADB连接超时。我认为它默认为5000毫秒,我把我改为10000毫秒来解决这个问题。如果您在Eclipse中,可以通过浏览Window - >来完成此操作。首选项然后它在Android下的DDMS中。

答案 17 :(得分:0)

1)从此目录project / build / outputs / apk

中删除apk

2)如果你使用genymotion模拟器重启genymotion

3)制作项目&重建项目

4)再次运行

答案 18 :(得分:0)

当它显示红色写入时 - 错误,不要关闭模拟器 - 保持原样并再次运行应用程序。

答案 19 :(得分:0)

我的设备出现了同样的错误 首先请确保您没有将调试apk上传到已安装相同apk但使用发布证书签名的设备。在这种情况下,您必须先从设备上卸载它 在其他情况下,我的解决方案是重启所有内容:

  1. 重启设备
  2. pskill emulator-arm.exe
  3. pskill eclipse.exe
  4. pskill adb.exe
  5. 之后,设备,adb和eclipse正在运行。

答案 20 :(得分:0)

我得到了同样的错误。

我刚刚在说出"Failed to install *.apk on device-emulator-5554"后就离开了AVD。它随后自动加载项目。

我认为错误是由于AVD启动缓慢造成的。

答案 21 :(得分:0)

Jichao说的一直对我有用。

通常当我在使用Eclipse时看到此错误时,我将关闭并重新打开该程序。然后,我将从目标手机中卸载应用程序。这有时可以解决问题,但并不总是如此。

接下来我将打开命令终端并进入android-sdk然后运行:

./adb install <AppName>.apk

这与通过Eclipse运行相同,但它会给你一个错误信息。

(10次中有9次简单地说'INSTALL_ALREADY_EXISTS'然后我再次从目标手机上卸下应用程序,然后运行adb,我工作正常。)