我通过测试GitHub中的一些项目来玩Android Studio,当我尝试模拟apk时,它不允许我选择模拟器.
它告诉我:
设备支持x86,但APK仅支持armeabi-v7a
为什么这样做?
我有同样的问题,我从module:app检查build.gradle.事实证明,有一个这样的配置:
ndk { abiFilters "armeabi-v7a", "x86" }
当我全力以赴时,一切正常.
我试图处理React Native Android项目.
关闭USB调试并将其重新打开硬件设备.
在Android Studio中,选择" 生成"菜单,
然后单击Select Build Variant ...并在'Build Variants'窗口中选择x86Debug(或release)
PS:我在Mac上使用Android Studio 2.3
在Linux上:文件>无效缓存/重新启动在手机上:而是将此设备更改为传输照片(PTP)
在我的Linux机器的情况下adb devices
显示
List of devices attached 44b194f5 no permissions
然后重新启动adb服务器
sudo adb kill-server
然后
sudo adb start-server
然后连接您的设备打开调试并键入
adb devices List of devices attached 44b194f5 device
终于能够在设备上运行了
我有类似的问题,我通过在"abiFilters"列表中添加"x86"值来解决它,如下所示 -
[打开build.gradle(Module:app)文件] 并在deafultSection中搜索" ndk " 并添加"x86"!
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
希望能帮助到你!!!
您需要重新连接设备,然后尝试关闭/打开开发人员选项。
请参阅启用开发人员选项和调试
设备支持x86,但APK仅支持armeabi-v7a)
听起来你x86
在模拟器中使用了一个图像.
创建一个单独的.如果需要,请选择"其他图像"选项卡以查找手臂设备.
或者,在实际设备上运行.我认为你列出的回购是为了在Raspberry Pi 3/ODroid上运行.
就我而言,我的应用使用了一些本地库。每个平台都需要构建相应的库。
因此不会生成x86(或任何其他)平台的本机lib。您必须在以下位置添加abifilter:
在几个地方可以指定abi过滤器:
Application.mk像这样添加您需要的平台:
APP_ABI := armeabi armeabi-v7a x86
build.gradle
找到abiFilters,然后添加所需的平台,如下所示:
abiFilters "armeabi","armeabi-v7a","x86"
可以确认,在Developer Options中关闭/打开USB调试解决了问题.甚至可能取消Android Studio中的"选择部署目标"窗口,并尝试在切换USB调试后再次运行该应用程序.
对我来说,更改电缆选项从
-> Charge Only.
至
-> Transfer file.