Genymotion中的棒棒糖虚拟机 - 可能ARM转换不起作用

6

我正在使用Mac(Yosemite)上的Eclipse和Genymotion。最近我将Genymotion更新到了2.3.1版本,并创建了两个Lollipop VMs:Google Nexus 5和Google Nexus 7。以前的VMs都使用了ARM翻译,而且一直很正常,但是在Lollipop VMs上却不行。我像往常一样在Nexus 5上安装了ARM翻译,它警告我可能会损坏设备,然后顺利地安装并告诉我已经成功刷入。然后我像往常一样重新启动了VM。当我试图在其中运行我的应用程序时,它告诉我:

[2014-12-29 16:29:42 - app-name] ------------------------------
[2014-12-29 16:29:42 - app-name] Android Launch!
[2014-12-29 16:29:42 - app-name] adb is running normally.
[2014-12-29 16:29:42 - app-name] Performing com.example.appname.StartActivity activity launch
[2014-12-29 16:29:42 - app-name] Automatic Target Mode: Several compatible targets. Please select a target device.
[2014-12-29 16:29:47 - app-name] Uploading app-name.apk onto device '192.168.56.101:5555'
[2014-12-29 16:29:50 - app-name] Installing app-name.apk...
[2014-12-29 16:29:51 - app-name] Installation error: INSTALL_FAILED_NO_MATCHING_ABIS
[2014-12-29 16:29:51 - app-name] Please check logcat output for more details.
[2014-12-29 16:29:51 - app-name] Launch canceled!

日志为空。我尝试在几个旧的虚拟机上运行我的应用程序,没有问题。我重启了Nexus 5几次,重新安装了ARM翻译,更新了SDK,重启了ADB,重启了电脑,但结果仍然是一样的。值得一提的是,当我尝试(只是为了测试会发生什么)在我没有安装ARM翻译的Nexus 7上运行我的应用程序时,它告诉我与在已成功安装ARM翻译但显然不起作用的Nexus 5相同的事情。我错过了什么吗?更新:我刚刚安装了Android Studio,结果还是一样的。
Waiting for device.
Target device: genymotion-google_nexus_5___5_0_0___api_21___1080x1920-192.168.56.102:5555
Uploading file
local path: /Users/usr/AndroidstudioProjects/app-name/app/build/outputs/apk/app-debug.apk
remote path: /data/local/tmp/com.example.appname
Installing com.example.appname
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.appname"
pkg: /data/local/tmp/com.example.appname
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

所以至少我可以确定这不是一个IDE问题。


你解决了吗?我这里也遇到了同样的问题。 - Lo-Tan
@Lo-Tan 不是很确定。我的同事进行了一些黑魔法(将我们自定义视频播放器的库添加到项目中),然后虚拟机在他的电脑上开始工作了,但当我尝试相同操作时,我的项目在编译时崩溃了。 - Kaworu
我正在使用Spotify的JNI库。我猜我可以为这个VM尝试运行的其他平台编译它,但我不知道我有多少兴趣继续尝试。现在我会坚持使用真实设备 :( - Lo-Tan
@Lo-Tan 我也是。虽然在不同设备上进行测试有助于解决问题,但太多的时间都被花费在了这上面。 - Kaworu
1个回答

0

INSTALL_FAILED_NO_MATCHING_ABIS是指当您尝试安装一个包含本地库的应用程序时,它没有适用于您的CPU架构的本地库。例如,如果您为armv7编译了一个应用程序,并尝试在使用Intel架构的模拟器上安装它,则无法正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接