android - Android模拟器的第一次使用

标签 android c++ qt android-emulator android-virtual-device

通过 Qt Creator 5.8,并使用 AVD_for_Nexus_4_by_Google API 22 armeabi 工具包,我在 Creating the Project 之后创建了一个名为 App1 的应用程序部分。
然后像下面这样创建一个 AVD 运行应用程序并选择 AVD > OK 并等待,等待。

enter image description here

不会显示任何虚拟设备来查看我的应用程序在那里工作,并在“编译输出”中获得以下内容:

//...(此处多行结束表示构建成功)

打造成功
总时间:5.413 秒
Android 包在 14.136 毫秒内成功构建。
-- 文件:C:/Users/CS/Documents/Qt/App1/build-App1-Android_for_armeabi_v7a_GCC_4_9_Qt_5_8_0-Debug/android-build//build/outputs/apk/android-build-debug.apk
警告:无法在任何导入路径中解析 QML 导入:QtQuick.Extras.Private.CppUtils
警告:无法在任何导入路径中解析 QML 导入:QtQuick.Extras.Private.CppUtils
12:26:30:“C:\Qt\Qt5.8.0\5.8\android_armv7\bin\androiddeployqt.exe”进程正常退出。
构建/部署项目 App1 时出错(工具包:Android for armeabi-v7a(GCC 4.9,Qt 5.8.0))
执行“部署到 Android 设备”步骤时
12:28:35:耗时:02:20。

请问您对这个问题有何看法?请问有什么办法可以解决吗?

最佳答案

要了解这里发生了什么,您至少应该打开部署步骤的详细输出(Qt creator 中的build设置 -> 高级操作)。

我看到这种情况发生了几次,因为与 android 模拟器的连接速度太慢,无法及时完成部署,然后切换到使用效果更好的真实设备。多次启动模拟器时,使用模拟器确实对我有用。使用 x86 版本的仿真器和仅用于开发的 Qt 可能会使一切运行得更快、更流畅,因为仿真具有更好的性能。但是,在这种情况下,您不会看到代码的特定于 arm 的问题,并且您必须确保您的代码独立于所使用的处理器架构工作。

请注意有 QTBUG-44697这可能会使您无法使用来自 Google 的最新 Android 模拟器。还原 workaround这是为了让 Qt 与早期版本的模拟器一起工作而引入的,这使得模拟器至少对 Qt 5.6.2 可用。然而,这需要从(修补的)源构建 Qt 本身。

关于android - Android模拟器的第一次使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42372942/

相关文章:

java - Android Junit 测试位图资源

c++ - vector 循环的起始值

qt - 在 Qt 中关闭新的非子窗口

android - 从 Samsung Galaxy S 2.2.1 的历史记录中恢复 Activity 时无法检索 sharedPreference

java - 带有回调的方法中的操作顺序不正确

c++ - 在 Boost zip 迭代器上使用 C++17 并行执行算法时,为什么会出现 MSVC 错误?

c++ - Qt 中的编译器命令行(Boost 相关)

if 语句的 C++ GUI 条件始终为真

android - 如何从 URL 下载 JSON 对象数组,并为 Android 应用程序存储?

c++ - 为什么要使用抽象类来创建类库?