当试图从Eclipse安装.apk时,无论是Android模拟器还是物理设备(通过USB),我都会收到"无法安装*.apk on device'*':timeout"错误.在模拟器和物理设备(三星Galaxy S2,root)上找不到.apk.
如果我避免使用eclipse,只使用命令行,我也无法安装.apk.
还有其他几个stackoverflow帖子引用了"无法安装..."错误.我创建了一个新帖子有几个原因:
这个帖子很冗长,因为我采取的步骤很长,正如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
MOBILE:三星Galaxy S2运行Android Ice Cream Sandwhich(ICS)4.0.3
ANT:1.8.2
使用Eclipse尝试将.apk安装到模拟器:
在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 Studio将库导入到我们主项目的根目录中。这并不是我们真正想要的,因为库的基本好处是它可以在许多项目之间共享。如果我们更新导入库中的代码,这不会反映在之前导入到另一个项目的库的代码中。
相反,我们的目标是创建一个 Main Android 项目,该项目可以引用存在于 Android 项目目录之外的自定义(您创建的)Android 和 Java 库模块,并且能够从 Main 内部编辑所有三个模块的代码安卓项目。也就是说,我们希望最终得到:
...例如,我们有一个像这样的目录结构...
..\LibraryRefDemo\MyMainProject
..\LibraryRefDemo\Libraries\MyAndroidLibrary
..\LibraryRefDemo\Libraries\MyJavaLibrary
Run Code Online (Sandbox Code Playgroud)
换句话说,标题问题是“我们如何做到这一点?”。
现有类似的 stackoverflow 问题,例如......
但我发现这些问题和答案都只能部分解决我在这里提出的问题。
我将提供我自己的问题的答案,我相信,它列举了所有技巧和陷阱,并提供了一步一步的过程。
我将使用 Android Studio 3.0.1 ...