应用程序无法部署到 API 19(平台 4.4.2)上的 Android 英特尔模拟器
Posted
技术标签:
【中文标题】应用程序无法部署到 API 19(平台 4.4.2)上的 Android 英特尔模拟器【英文标题】:Application fails to deploy to Android Intel emulator on API 19 (Platform 4.4.2) 【发布时间】:2014-05-05 12:36:58 【问题描述】:问题:
更新:我已经能够将我的应用程序部署到 android API 级别 10、15、17、18。所以这似乎是 API 19 的问题。
当我尝试调试我的应用程序(MvvmCross
“Hello World”应用程序)时,它不会在 Intel Atom (x86) 模拟器中启动,但应用程序确实会启动到 ARM (armeabi-v7a) 模拟器。尝试在 Intel Atom (x86) 模拟器中启动时,Visual Studio 2013 成功启动模拟器,构建应用程序,然后在构建后挂起并显示 Waiting for device...
,但模拟器已启动并运行,响应迅速,并且似乎工作正常。一旦我关闭模拟器 Visual Studio 2013 / Xamarin 就会弹出这个错误:
详细信息只是说找不到模拟器 - 因此环境知道模拟器以及它何时运行以及何时不运行。
Visual Studio 2013 的输出 - 构建窗口
2>Build succeeded.
2> 0 Warning(s)
2> 0 Error(s)
2>
2>Time Elapsed 00:00:13.60
2>
2>
2>
2>Waiting for device..
环境:
Windows 7 企业版 带有 ReSharper 的 Visual Studio 2013 Professional MvvmCross“Hello World”应用程序 Xamarin.Android尽职调查:
在命令行中,当我运行adb devices
时,它显示模拟器已启动并正在运行。
我关闭并重新启动了 Visual Studio 2013 和模拟器。
我尝试先加载模拟器然后调试,但仍然遇到同样的问题。
在我走到这一步之前,我遇到了未安装 HAXM 的问题,但 this 不是我遇到的问题。
我检查了Xamarin setup instructions,并确认选中了支持的架构下的x86
复选框。我什至试着让它成为唯一的选择。
我在 Xamarin 论坛和 found someone who claims to have it up and running (asked him how) 上搜索了解决方案,但没有找到我的问题的答案。
我在 Stack Overflow 上搜索了此处的解决方案,但没有找到答案。this 或 this 都不是我遇到的同一个问题。
我检查了adb logcat
,但我无法确定那里是否存在问题。以下文本块一直重复,直到我关闭模拟器。
D/AndroidRuntime( 2182): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
W/linker ( 2182): libdvm.so has text relocations. This is wasting memory and is a security risk. Please fix.
D/AndroidRuntime( 2182): CheckJNI is ON
D/dalvikvm( 2182): Trying to load lib libjavacore.so 0x0
D/dalvikvm( 2182): Added shared lib libjavacore.so 0x0
D/dalvikvm( 2182): Trying to load lib libnativehelper.so 0x0
D/dalvikvm( 2182): Added shared lib libnativehelper.so 0x0
D/dalvikvm( 2182): No JNI_OnLoad found in libnativehelper.so 0x0, skipping init
D/dalvikvm( 2182): Note: class Landroid/app/ActivityManagerNative; has 179 unimplemented (abstract) methods
E/memtrack( 2182): Couldn't load memtrack module (No such file or directory)
E/android.os.Debug( 2182): failed to load memtrack module: -2
D/AndroidRuntime( 2182): Calling main entry com.android.commands.pm.Pm
D/AndroidRuntime( 2182): Shutting down VM
D/dalvikvm( 2182): GC_CONCURRENT freed 93K, 15% free 556K/652K, paused 1ms+0ms, total 1ms
D/AndroidRuntime( 2194):
配置详情
这里是安卓英特尔模拟器的配置
以下是 VS2013 中 Xamarin/MvvmCross Android 项目的属性:
【问题讨论】:
【参考方案1】:您还应该尝试使用 AVD 管理器关闭该特定 AVD 的快照。这解决了我使用 Intel Atom (x86) 映像运行的问题。
【讨论】:
【参考方案2】:我确认问题;我删除了旧模拟器并创建了一个新模拟器,但结果相同。但是,它确实从 Xamarin Studio 安装。
感谢 Steve 提到它适用于 API18;刚刚下载了它以确认 - 它工作正常。
所以问题出在 API19 或模拟器中的其他一些设置上。
【讨论】:
【参考方案3】:尝试在 AVD 管理器中简单地创建一个新的模拟器。
我发现它们会在一段时间后损坏并停止工作。
你能否成功获得一个全新的 Lvl 19 vanilla Android 项目在模拟器中运行?
【讨论】:
以上是关于应用程序无法部署到 API 19(平台 4.4.2)上的 Android 英特尔模拟器的主要内容,如果未能解决你的问题,请参考以下文章
由于“无法创建项目锁定实体”错误,无法将 helloworld 应用程序部署到 mobilefirst 开发服务器(7.0)
无法将 Rails API 应用程序部署到 AWS Elastic Beanstalk