Android Studio 应用程序在真实设备上运行但不会在模拟器上运行

标签 android opencv android-ndk android-virtual-device abi

我的 Android Studio 应用程序使用 OpenCV 和 NDK。 apk 太大所以我决定我不想支持 x86 设备(我只想支持 armeabi-v7a 和 arm64-v8a),所以对 x86 ABI 的支持被 C++ 开发人员删除了,他不再可用.在我的应用程序中,我有:

abiFilters 'armeabi-v7a', 'arm64-v8a'

但是,现在,该应用程序将在 Google Pixel 真实设备(或 真实设备),但不在 Google Pixel 模拟器(或任何模拟器)上。模拟器的构建失败并显示消息:

无法为 ABI 构建:x86 支持的 ABI 是:armeabi-v7a、arm64-v8a

我无法理解它如何在真实设备上正常运行,但在与 AVD 一起运行的“同一”设备上却无法正常运行。我该如何解决这个问题,以便该应用程序也能在模拟器上运行?

最佳答案

遇到类似的问题,我将“x86”添加到 build.gradle 中的 abiFilters 列表中,它在同步和构建后工作。

ndk {
       abiFilters "armeabi-v7a", "arm64-v8a", "x86_64", "x86"
    }

关于Android Studio 应用程序在真实设备上运行但不会在模拟器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50421561/

相关文章:

c++ - 矩形图像可以用于opencv haar训练吗

android - 如何在 Android Studio 链接到 SDK/NDK 中转义空白

android - 如何在cocos2d-x中使用android ndk检查崩溃日志

android - 当从单独的类调用 PopupWindow 方法时,如何从 xml 文件在 PopupWindow 中定义布局

python - Tesseract OCR 无法识别任何字符

Android Sticky - 使用jetpack的页脚撰写: Align footer view to table,直到它达到屏幕尺寸然后固定在底部

opencv - 用R和t计算新的PixelCoordinates点

java - Telegram 不能用不同的包名编译

Android 锁屏 settext 应用程序崩溃

android - 如何不在 Flutter 的 Firebase firestore 中保存等于字符串