4

我在让 MyFirstApp (Hello World) Android 应用程序在模拟器中工作时遇到了困难。

我正在按照以下说明进行操作:

http://developer.android.com/training/basics/firstapp/running-app.html

Windows7-64 / 日食

该应用程序通过 USB 连接到我的手机。

采取的步骤:

  1. 确保我的 PATH 环境变量包含 Android SDK。好的。

  2. 启动 C:/Users/(me)/AppData/Local/Androd/android-sdk/platform-tools/adb.exe。好的。

  3. 从 Eclipse 启动模拟器。好的,它出现了。

  4. 验证 MyFirstApp.apk 是否存在于 Eclipse 工作区 MyFirstApp/bin 目录中。

  5. 从 Eclipse 运行 MyFirstApp 应用程序。

Eclipse 控制台打印出:


[2012-12-01 23:02:15 - MyFirstApp] Android 发布!

[2012-12-01 23:02:15 - MyFirstApp] adb 运行正常。

[2012-12-01 23:02:15 - MyFirstApp] 执行 com.example.myfirstapp.MainActivity 活动启动

[2012-12-01 23:02:15 - MyFirstApp] 自动目标模式:使用现有的模拟器 'emulator-5554' 运行兼容的 AVD 'Galaxy_Captivate_2.2'

[2012-12-01 23:02:15 - MyFirstApp] 将 MyFirstApp.apk 上传到设备 'emulator-5554'

[2012-12-01 23:02:17 - MyFirstApp] 无法在设备“emulator-5554”上安装 MyFirstApp.apk:没有这样的文件或目录 [!! 红色(错误)!!]

[2012-12-01 23:02:17 - MyFirstApp] com.android.ddmlib.SyncException:没有这样的文件或目录 [!! 红色(错误)!!]

[2012-12-01 23:02:17 - MyFirstApp] 发布取消![!!红色(错误)!!]

我从命令行尝试了 adb install :

adb install MyFirstApp.apk

并得到

无法将“MyFirstApp.apk”复制到“/data/local/tmp/MyFirstApp.apk”:没有这样的文件或目录

/data/local/tmp/MyFirstApp.apk 的 rm 失败,没有这样的文件或目录

经过数小时的搜索,我还没有在其他任何地方看到此问题的报告。

如果我跑

亚行外壳

我可以看到 /data 目录。它看起来是空的,但权限是 drwxrwx--x,这会导致我无法看到任何内容。

因此,由于某种原因,.apk 文件似乎没有被复制到模拟器中。

另一件可疑的事情:如果我跑步

亚行日志猫

然后打印出一份投诉清单,包括,

E/dalvikvm(3520): 无法打开 dex 缓存 '/data/dalvik-cache/system@framework@core.jar@classes.dex': 没有这样的文件或目录

...

W/dalvikvm(3620):JNI_CreateJavaVM 失败。

任何帮助将非常感激。

Android SDK 工具第 21 版

Android SDK 平台工具 Rev 16

安卓 2.2 (API 8)

SDK 平台版本 3

4

6 回答 6

2

谢谢路易斯的建议。

确实,模拟器没有正常启动。它卡在黑色的“ANDROID 死亡屏幕”中。我了解到模拟器在显示像普通 Android 手机一样的屏幕之前还没有完全启动。

目录名不是问题,我已经在使用默认的 C:/Users/... 目录,而不是 C:/Program Files。

但是,今天它起作用了。我不完全确定为什么它今天有效,而不是以前。这是我所做的:

  1. 从 SDK 管理器安装最新版本的 Android SDK 工具和 Android SDK 平台工具。自从我在 2012 年 12 月第一次尝试以来,就有了一个新版本。

  2. 删除目录,C:/Users/[my-username]/.android/avd

  3. (来自 Eclipse)使用内存选项和内部存储的默认值创建了一个新的 AVD。

  4. 通过 Eclipse 从 Android Virtual Device Manager 启动模拟器。在 Eclipse 中打开 LogCat 视图有助于在模拟器启动时查看进度的类型输出。

于 2013-01-06T00:35:47.377 回答
2

我也有同样的问题。可以试试:首先可以将apk包push到sdcard: adb push test.apk /sdcard/

然后,从 sdcard 安装 apk: adb shell pm install /sdcard/test.apk

希望能帮到你!

于 2014-10-31T16:39:51.390 回答
0

data目录中应该有大约 20 个目录,甚至在您安装应用程序之前。所以,如果你发现它是空的,这不是你的应用程序的问题,而是模拟器或 sdk 安装的问题。

导致奇怪行为的常见问题来自spaces在安装的目录名称中使用SDK

尝试在 Ecipe 中选择菜单WindowPrefrencesAndroidinSDK Location而不是:

C:\Program Files (x86)\Android\android-sdk

类型(在 32 位机器中):

C:\Progr~1\Android\android-sdk

或(在 64 位机器中)

C:\Progr~2\Android\android-sdk

如果这不能解决您的问题,我建议重新安装 ADT 和 SDK。

问候。

于 2012-12-03T11:07:48.443 回答
0

我今天尝试安装到模拟设备时遇到了同样的错误。结果发现没有可用空间,这就是找不到 APK 文件的原因(因为推送失败但由于某种原因 adb 不知道这一点并提供了一个信息错误)。

通过创建新的 AVD,这个问题可能会“消失”。

于 2014-05-29T19:02:10.680 回答
0

我有同样的问题。原因在于错误的 apk 文件:)。它被损坏了。

只是,试着检查一下。

于 2013-08-13T12:03:50.610 回答
0
adb shell rm -rR -f /data/local/tmp

接着

mkdir /data/local/tmp

chmod 777 /data/local/tmp

尝试

adb install again

当然,你可以选择其他权限模式

于 2017-03-08T10:08:11.890 回答