小编Joh*_*ley的帖子

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

当试图从Eclipse安装.apk时,无论是Android模拟器还是物理设备(通过USB),我都会收到"无法安装*.apk on device'*':timeout"错误.在模拟器和物理设备(三星Galaxy S2,root)上找不到.apk.

如果我避免使用eclipse,只使用命令行,我也无法安装.apk.

为什么要发一个新帖子?

还有其他几个stackoverflow帖子引用了"无法安装..."错误.我创建了一个新帖子有几个原因:

  • 大多数其他帖子都不详细.
  • 突出的相关帖子,Android错误:无法在设备上安装*.apk*:对于原始海报,超时,仅适用于物理设备连接.所以这是一个不同的情况,尽管有类似的症状.
  • 我已经尝试过该帖子中的所有候选解决方案以及其他几个候选解决方案.这些列在"我试过的候选解决方案"下面.

这个帖子很冗长,因为我采取的步骤很长,正如bug所证明的那样.如果您不想阅读或至少扫描,请不要发表评论.

我的环境

主机操作系统: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 Development Toolkit",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)

MOBILE:三星Galaxy S2运行Android Ice Cream Sandwhich(ICS)4.0.3

ANT:1.8.2

我经历的步骤产生错误.

使用Eclipse尝试将.apk安装到模拟器:

  • 打开eclipse(用一个Android应用程序加载我的工作区).
  • 使用先前配置的运行配置运行我的Android应用程序.
  • 启动"Android设备选择器"(我已将我的运行配置设置为手动启动).
  • 在Android设备选择器中,我选择我的avd(定位Android 2.2),然后单击"确定".
  • 模拟器以"5554:jlbavd2_2"打开.我的AVD名称是"jlbavd2_2".
  • 我让模拟器保持打开状态.在Eclipse中,我打开DDMS视图.在"设备"窗格中,单击白色三角形,然后选择"重置adb".

在Eclipse控制台,Android视图中,我得到了

[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 …
Run Code Online (Sandbox Code Playgroud)

android timeout android-emulator

31
推荐指数
1
解决办法
2万
查看次数

我们如何引用位于主 Android 项目目录之外的自定义 Android 和 Java 库?

引用库的传统设置是 Android Studio将库导入到我们主项目的根目录中。这并不是我们真正想要的,因为库的基本好处是它可以在许多项目之间共享。如果我们更新导入库中的代码,这不会反映在之前导入到另一个项目的库的代码中。

相反,我们的目标是创建一个 Main Android 项目,该项目可以引用存在于 Android 项目目录之外的自定义(您创建的)Android 和 Java 库模块,并且能够从 Main 内部编辑所有三个模块的代码安卓项目。也就是说,我们希望最终得到:

  • 属于我们的主 Android 项目的根模块(“app”);
  • Android 库模块,存在于 Android 项目目录之外,但被我们的主 Android 项目引用。
  • Java 库模块,存在于 Android 项目目录之外,但被我们的主 Android 项目引用。

...例如,我们有一个像这样的目录结构...

..\LibraryRefDemo\MyMainProject
..\LibraryRefDemo\Libraries\MyAndroidLibrary
..\LibraryRefDemo\Libraries\MyJavaLibrary
Run Code Online (Sandbox Code Playgroud)

换句话说,标题问题是“我们如何做到这一点?”。

现有类似的 stackoverflow 问题,例如......

但我发现这些问题和答案都只能部分解决我在这里提出的问题。

我将提供我自己的问题的答案,我相信,它列举了所有技巧和陷阱,并提供了一步一步的过程。

我将使用 Android Studio 3.0.1 ...

android android-studio

4
推荐指数
1
解决办法
2301
查看次数