gpt4 book ai didi

android - 由于模拟器中的超时而无法安装

转载 作者:行者123 更新时间:2023-12-02 06:52:18 24 4
gpt4 key购买 nike

尝试从Eclipse安装.apk时,无论是将其安装到android仿真器还是通过物理设备(通过USB),都会出现“无法在设备'*'上安装* .apk:超时”错误。
.apk在仿真器或物理设备(Samsung Galaxy S2,已 Root )上均未找到。

如果我避免 eclipse ,而仅使用命令行,则我也无法安装.apk。

为什么要对此发表新文章?

还有其他几个引用“无法安装...”错误的stackoverflow帖子。我创建新帖子的原因如下:

  • 其他大多数帖子未详述。
  • 原始海报的突出相关帖子Android error: Failed to install *.apk on device *: timeout仅适用于物理设备连接。所以这是另一种情况,尽管症状相似。
  • 该文章中的所有候选解决方案以及我尝试过的其他几种解决方案。这些列在“我尝试过的候选解决方案”下。

  • 这篇文章很冗长,因为该错误已保证我采取的步骤很冗长。如果您不想阅读或至少不扫描,请不要发表评论。

    我的环境

    主机操作系统:Windows XP SP3

    JAVA:Java SDK版本1.6.0_32

    WINDOWS环境变量:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33; PATH=...;%JAVA_HOME%\bin\;C:\android\android-sdk\tools;C:\android\android-sdk\platform-tools\;...;C:\Program Files\apache-ant-1.8.2\bin;...;
    IDE:Eclipse(已安装经典)Indigo。版本3.7.2

    ANDROID SDK
  • Android SDK工具修订版:20。(经过19版的严格测试)。
  • Android SDK平台工具:11.
  • ADT插件(“Android开发工具包”,Eclipse插件)版本:20.0.0.v201206010423-369331(也包含先前的版本18.0.0.v201203301501-306762)。
  • 您的项目所针对的平台以及在仿真器中运行的平台的版本。试过每个:
  • Android 4.0.3(API 15)
  • Android 2.2(API 8)
  • Andorid 2.1(API 7)

  • 移动电话:运行Android Ice Cream Sandwhich(ICS)4.0.3的Samsung Galaxy S2

    Ant :1.8.2

    我经历的步骤来产生错误。

    使用Eclipse尝试将.apk安装到仿真器:
  • 打开eclipse(将我的工作区加载到其中的一个android应用程序中)。
  • 使用先前配置的Run配置运行我的android应用程序。
  • “Android设备选择器”启动(我将运行配置设置为手动启动)。
  • 在“Android设备选择器”中,选择我的avd(针对Android 2.2),然后单击“确定”。
  • 仿真器将以“5554:jlbavd2_2”打开。我的AVD名称是“jlbavd2_2”。
  • 我将模拟器保持打开状态。在Eclipse中,我打开DDMS View 。在“设备” Pane 中,单击白色三角形,然后选择“重置adb”。

  • 在Eclipse控制台的Android View 中,我得到
    [2012-06-19 19:20:52 - MyApp] Starting full Post Compiler.
    [2012-06-19 19:20:52 - MyApp] ------------------------------
    [2012-06-19 19:20:52 - MyApp] Android Launch!
    [2012-06-19 19:20:52 - MyApp] adb is running normally.
    [2012-06-19 19:20:52 - MyApp] Performing au.com.myorg.myapp.MyAppActivity activity launch
    [2012-06-19 19:20:52 - MyApp] Refreshing resource folders.
    [2012-06-19 19:20:52 - MyApp] Starting incremental Pre Compiler: Checking resource changes.
    [2012-06-19 19:20:52 - MyApp] Nothing to pre compile!
    [2012-06-19 19:20:53 - MyApp] Starting incremental Package build: Checking resource changes.
    [2012-06-19 19:20:53 - MyApp] Skipping over Post Compiler.
    [2012-06-19 19:20:59 - MyApp] Launching a new emulator with Virtual Device 'jlbavd'
    [2012-06-19 19:22:29 - MyApp] New emulator found: emulator-5554
    [2012-06-19 19:22:29 - MyApp] Waiting for HOME ('android.process.acore') to be launched...
    [2012-06-19 19:22:44 - MyApp] HOME is up on device 'emulator-5554'
    [2012-06-19 19:22:44 - MyApp] Uploading MyApp.apk onto device 'emulator-5554'
    [2012-06-19 19:22:49 - MyApp] Failed to install MyApp.apk on device 'emulator-5554': timeout
    [2012-06-19 19:22:49 - MyApp] Launch canceled!

    在Eclipse控制台的DDMS输出中,我得到:
    ...
    [2012-06-19 19:22:44 - ddm-hello] handling HELO
    [2012-06-19 19:22:44 - ddm-hello] HELO: v=1, pid=150, vm='Dalvik v1.2.0', app='android.process.acore'
    [2012-06-19 19:22:44 - MyApp.apk] Uploading MyApp.apk onto device 'emulator-5554'
    [2012-06-19 19:22:44 - Device] Uploading file onto device 'emulator-5554'
    [2012-06-19 19:22:49 - ddms] write: timeout
    [2012-06-19 19:22:49 - Device] Error during Sync: timeout.
    [2012-06-19 19:22:49 - ddms] Removing req 0x4000002d from set

    有时(也许我做的步骤略有不同),我得到:
    [2012-06-16 14:20:02 - MyFirstApp02] Starting full Post Compiler.
    [2012-06-16 14:20:02 - MyFirstApp02] ------------------------------
    [2012-06-16 14:20:02 - MyFirstApp02] Android Launch!
    [2012-06-16 14:20:02 - MyFirstApp02] adb is running normally.
    [2012-06-16 14:20:02 - MyFirstApp02] Performing au.com.myorg.MyFirstApp02Activity activity launch
    [2012-06-16 14:20:08 - MyFirstApp02] Launching a new emulator with Virtual Device 'jlbavd2_2'
    [2012-06-16 14:20:17 - Emulator] bind: Unknown error
    [2012-06-16 14:20:17 - MyFirstApp02] New emulator found: emulator-5556
    [2012-06-16 14:20:17 - MyFirstApp02] Waiting for HOME ('android.process.acore') to be launched...
    [2012-06-16 14:20:38 - MyFirstApp02] HOME is up on device 'emulator-5556'
    [2012-06-16 14:20:38 - MyFirstApp02] Uploading MyFirstApp02.apk onto device 'emulator-5556'
    [2012-06-16 14:20:50 - MyFirstApp02] Failed to install MyFirstApp02.apk on device 'emulator-5556': timeout
    [2012-06-16 14:20:50 - MyFirstApp02] Launch canceled!

    请注意“绑定(bind):未知的错误”。有时会发生此错误,有时却不会。

    如果将以太网电缆拔出到硬件路由器,则会得到以下信息:
    [2012-06-19 23:27:29 - MyApp] Android Launch!
    [2012-06-19 23:27:29 - MyApp] adb is running normally.
    [2012-06-19 23:27:29 - MyApp] Performing au.com.softmake.myapp.MyAppActivity activity launch
    [2012-06-19 23:27:29 - MyApp] Refreshing resource folders.
    [2012-06-19 23:27:29 - MyApp] Starting incremental Pre Compiler: Checking resource changes.
    [2012-06-19 23:27:29 - MyApp] Nothing to pre compile!
    [2012-06-19 23:27:33 - MyApp] Launching a new emulator with Virtual Device 'jlbavd'
    [2012-06-19 23:27:40 - Emulator] Warning: No DNS servers found
    [2012-06-19 23:27:44 - Emulator] emulator: emulator window was out of view and was recentered
    [2012-06-19 23:27:44 - Emulator]
    [2012-06-19 23:28:29 - MyApp] New emulator found: emulator-5554
    [2012-06-19 23:28:29 - MyApp] Waiting for HOME ('android.process.acore') to be launched...
    [2012-06-19 23:28:36 - MyApp] HOME is up on device 'emulator-5554'
    [2012-06-19 23:28:36 - MyApp] Uploading MyApp.apk onto device 'emulator-5554'
    [2012-06-19 23:28:42 - MyApp] Failed to install MyApp.apk on device 'emulator-5554': timeout
    [2012-06-19 23:28:42 - MyApp] Launch canceled!

    请注意“警告:未找到DNS服务器”

    使用Eclipse尝试将.apk安装到物理设备(已启用root调试的三星Galaxy S2。4.0.3,已启用USB调试),并经过上述类似的步骤后,进入Eclipse控制台Android Output:
    [2012-06-15 22:40:34 - MyFirstApp] Starting full Post Compiler.
    [2012-06-15 22:40:34 - MyFirstApp] ------------------------------
    [2012-06-15 22:40:34 - MyFirstApp] Android Launch!
    [2012-06-15 22:40:34 - MyFirstApp] adb is running normally.
    [2012-06-15 22:40:34 - MyFirstApp] Performing
    au.com.myorg.myfirstapp.MyFirstAppActivity activity launch
    [2012-06-15 22:40:39 - MyFirstApp] Uploading MyFirstApp.apk onto device '0019adf659f24e'
    [2012-06-15 22:40:51 - MyFirstApp] Failed to install MyFirstApp.apk on device '0019adf659f24e': timeout
    [2012-06-15 22:40:51 - MyFirstApp] Launch canceled!

    与尝试安装到仿真器时一样的错误。

    当仅使用命令行并因此避免使用Eclipse时,我将执行以下步骤:
  • 在我的工作目录中打开Windows命令提示符(我使用的是C:\Data\Sda\Code\Mobile\Android\Examples>“)。

    android list targets.

  • 我获得了我的目标ID(我选择了Android 2.2)。

    android create project --target 3 --name MyAppCmd --path ./MyAppCmd --activity MyAppCmdActivity --package au.com.myorg.myappcmd

  • 我得到了一系列看起来很健康的输出“Created project directory ...”,“Added file ...”
  • 在Windows中,我双击“AVD Manager.exe”。
  • 我启动了我的avd(针对Android 2.2)
  • 返回我的命令窗口

    cd MyAppCmd

    ant debug

  • 输出列表后,我得到“BUILD SUCCESSFUL ...”(在以前的情况下,我不得不编辑C:\android\android-sdk\platform-tools\dx.bat来将“set defaultXmx = -Xmx1024M”更改为“设置defaultMx = -Xmx512M”以使构建成功)。我观察到bin/MyAppCmd-debug.apk存在。
  • 我尝试安装

    adb install bin/MyAppCmd-debug.apk

  • 输出:
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    error: device offline

    adb devices


    List of devices attached
    emulator-5554 device

    adb install bin/MyAppCmd-debug.apk

  • 命令窗口中没有进一步的输出。没有错误讯息。只是闪烁的光标,没有错误或成功消息,也没有返回到命令提示符“>”。
  • 我关闭命令行并打开一个新的命令行。
  • 如果尝试执行插入命令(temp.txt以前是在Windows系统上创建的),我将得到相同的结果(光标闪烁等)...

    adb push temp.txt /sdcard/temp.txt


  • 我尝试过的候选解决方案

    Eclipse相关:
  • 遵循了Eclipse isn't talking to the emulator
  • 的步骤
  • 增加了ADB连接超时。 Eclipse>窗口>首选项> Android> DDMS>“ADB连接超时(毫秒):” = 10000(我也尝试过60000)。
  • 运行该应用程序两次(然后再次选择当前正在运行的仿真器或手机)。
  • 清理了我的项目:Eclipse> Project> Clean ...
  • 重新启动了Eclipse。
  • 将Eclipse从Indigo(2.7.x)降级为Helios(2.6.x)。

  • 与Android相关:
  • 通过几种方式重置adb:从Eclipse DDMS透视图(从“设备”窗口三角形开始)“重置ADB”命令;带有“adb kill-server”和“adb start-server”的命令行;并使用Windows任务管理器杀死adb.exe。
  • 重新安装我的Samsung OEM USB驱动程序(通过使用KIES>工具>解决连接错误)。
  • 将我的Android SDK安装到目录中,路径中没有空格。即C:\Android\android-sdk。这需要重新安装SDK,该SDK以前位于C:\Program Files\Android\android-sdk
  • 我的Android项目安装在目录中,路径中没有空格。
  • 删除并重新创建avd(均通过Android AVD Manager并使用Windows资源管理器)。
  • 使用针对不同平台的不同AVD(Android 2.2和Android 4.0.3)。
  • 在模拟器打开后但超时之前:解锁电话V,直到锁定(在模拟器中)电话超时。
  • 验证我在AndroidManifest.xml中:
      <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> 

  • 与环境有关(PC和电话):
  • 重新启动了我的手机。
  • 重新启动了我的开发PC。
  • 关闭我的软件和硬件防火墙。
  • 打开MS Security Essentials实时保护。
  • 禁用了我的主机列表。
  • 重新安装了Java。
  • 引导到Windows安全模式并运行Eclipse。
  • 通过查看Sysinternals TCPView中可用的内容,手动杀死大多数其他应用程序TCP/IP进程(例如GoogleDesk.exe,Apache Server PunkBuster等)。
  • 从我的PC断开以太网电缆的连接。

  • 其他资讯

    一些adb命令有效。

    例如,以下内容使仿真器屏幕跳动(如预期)。

    adb shell monkey -v 100



    我可以列出设备,并使用以下命令正确检索其状态

    adb devices.



    因此,adb客户端和adb守护程序之间存在部分通信(通过adb服务器)。

    我是Android开发的新手。但是,大约6个月前,我已成功将.apks安装到仿真器和设备上(我现在正在尝试从WinXP PC上进行安装)。从那时起,我一直忽略Android。当我最近回到它时,我在构建.apks时遇到了一些问题,该问题通过删除debug.key并允许eclipse生成一个新的文件来解决。

    在随后的6个月中,我的开发机器发生了各种变化。安装新的服务器和应用程序,更改防火墙设置等。因此,我可能忽略了一些更改。

    我也有一台Win7笔记本电脑,已从其中成功将.apks安装到仿真器和USB连接的物理设备上。也就是说,我在Win7机器上安装了Android SDK,Eclipse,JAVA等副本。因此,我知道我对正确设置所有正确步骤的一般了解。

    我可以通过从手机(通过无线方式连接到我的开发机)的ES File Explorer双击文件来手动安装.apk。

    最后的想法

    似乎adb客户端,adb服务器或adb守护程序在彼此完全通信时存在一些问题。

    我有三个假设:
  • 这是我的错。存在某种TCP/IP冲突,该冲突断开了adb客户端,adb服务器或adb守护程序之间的某些连接。这是由于PC上的某些异常设置(就像其他开发人员一样,我一直都在更改系统上的各种设置)。但是,我尝试禁用安全性和其他可能冲突的TCP/IP进程(据我所知)。
  • 我一直忽略着一些简单的问题。
  • 这是Google/Android的错误。也就是说,Android adb中存在一个错误,该错误需要更新android SDK平台工具。我认为这种可能性较小,因为我希望它现在已经浮出水面。

  • 更新发布

    2012-06-22 18:55(UTC):

    再次完全(重新)安装Java,Eclipse和Android SDK,但安装过程有所不同(例如,将Java安装为root;将Android SDK更改为默认的“Program Files\”;并在安装过程中关闭所有安全软件)。

    我注意到一个错误“停止ADB服务器失败(代码-1)”。在Android SDK Manager中登录并在平台/工具的各个部分(通过Manager)安装过程中进行登录。

    2012-06-30 06:15(UTC):

    重新调整了“我的环境”规范,以反射(reflect)最新的测试。

    最佳答案

    如果超时,则与eclipse的ADB连接可能需要更多的超时限制。因此,请尝试以下操作:
    Prefrences>android>DDMS and you will see ADB connection timeout extend it to 20000

    关于android - 由于模拟器中的超时而无法安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11115899/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com