Qt Creator和Android在模拟器上运行但在硬件设备上崩溃

时间:2017-11-08 03:08:49

标签: android c++ qt debugging

我很难让调试器在外部设备上运行。

使用 - 最新的Qt Creator和Qt框架5.9.2 - Android SDK& NDK随Android Studio一起安装 - Java jdk1.8.0_152 - Android API 26 - 赢10。

我可以在x86 Android模拟器上成功地在调试中构建和运行应用程序。

我可以成功构建amd但是当我尝试在调试我的外部设备时运行时,它立即崩溃并且无法连接到调试器,消息无法联系调试端口

如果手动启动,应用程序会在启动时崩溃。

手机上启用了USB调试。

是否需要其他配置?

1 个答案:

答案 0 :(得分:2)

最后经过多次挖掘。

与QtCreator一起使用的编译器生成armeabi-v7a lib文件。

这些文件包含在apk上的/ libs /文件夹中。

我们的项目需要使用一些其他外部库,这些库也是为其他架构编译的。生成的apk的文件夹/ libs /包含用于这些不同体系结构的库,但主项目仅适用于armeabi-v7a。

因此,应用程序将启动并尝试将lib找到首选架构,并立即崩溃。

解决方案是强制使用可用的架构。

这是通过将其添加到build.gradle脚本

来完成的
 defaultConfig {
    ndk {
        abiFilters  'armeabi-v7a'
    }
}