我想直接通过Android Studio将带有USB的全新OnePlus 7测试设备连接到我的开发笔记本电脑,并在其中安装我们的应用。
但是,Android Studio显示此:
...并尝试在设备上运行该应用程序失败,并显示:
该应用程序不支持设备的SDK版本:(1)。
我发现这与我们为(两种)构建类型指定的abiFilters
有关:
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
在那里存在是有原因的,但是我对此并不陌生,可能无法很好地解释它。尝试删除abiFilters
会导致构建(:app:packageDebugBundle
)失败,原因是“所有具有本机模块库必须支持同一组ABI ...“
Edit:这归结为以下事实:应用程序中的一个模块使用专有库,其中包括仅适用于[ARM64_V8A, ARMEABI_V7A, X86, X86_64]
的本机库(.so)。改变这一点是我们无法控制的。
那么那个列表上缺少哪个ABI? OnePlus 7使用什么ABI?它有一个高通Snapdragon 855 CPU,但是我不容易弄清楚它对应的是什么。
另外一点:当通过Google Play分发时,该应用在OnePlus 7上运行正常。是否有任何变通办法也可以使其在本地运行?
还有其他使这项工作可行的想法吗?该设备显然已启用USB调试;我还会缺少其他开发人员选项吗?
完全怪异,但解决了。
我也在命令行上尝试了adb install
,但由于error: device unauthorized
而失败。那促使我尝试this answer提出的建议:撤销USB授权。
[之后,重新连接电缆并再次授予USB调试权限,请在安装的Android Studio中单击“播放”,然后在OnePlus设备上正常运行该应用程序。