Qt5.7用AVD调试程序

此文只写了一半,有问题没有解决。不建议参考此文。

要用AVD调试Android程序,首先要创建出来AVD。
Qt依赖了Android SDK,而Android SDK是安装android-studio-bundle后创建出来的东西。所以,Qt和Android Studio会使用相同的东西。
创建AVD的方式:
在Android Studio里,"Configure"->"Settings"->"Appearance & Behavior"->"System Settings"->"Android SDK"->"Launch Standalone SDK Manager",会弹出"Android SDK Manager"窗口。这个窗口就是运行"android.bat"后弹出的窗口。
"Android SDK Manager"窗口的"Tools"->"Manage AVDs...",会弹出"Android Virtual Device (AVD) Manager"窗口。在这个窗口下可以创建AVD。
在qtcreater里,"工具"->"选项"->"Android"->"AVD管理器"->"Start AVD Manager",会弹出"Android Virtual Device (AVD) Manager"窗口。Qt弹出的这个窗口和Android Studio弹出的这个窗口是同一个东西。
注意:在qtcreater里,"工具"->"选项"->"Android"->"AVD管理器"->"Add",会弹出标题为"Create new AVD"的窗口,在这个窗口下创建的AVD不能用(该窗口创建的AVD会在"Android Virtual Device (AVD) Manager"窗口里显示出来,但是点击"Start..."按钮启动AVD时,AVD会闪退,所以这个窗口下创建的AVD不能用)。

当我们创建AVD时,(可能)会遇到如下错误:

"No CPU/ABI system image avaliable for this target"。

"Cannot create a AVD for ABI armeabi-v7a. Install an image for it."。

解决方案:

我们(可能)需要安装一些system image,这时就需要Android Studio登场了。
启动Android Studio,如果是首次启动它,它可能需要配置、下载、安装一些东西,反正"一路默认、一路Next"就行。
在Android Studio里,"Configure"->"Settings"->"Appearance & Behavior"->"System Settings"->"Android SDK",你可以修改"Android SDK Location"的值到一个自己喜欢的路径。

在Android Studio里,打开"Android SDK Manager"窗口后,可以看到,我们有好些system image没有安装,我们先尝试着将默认勾选的东西都安装了。

Qt5.7用AVD调试程序_第1张图片

安装完后,界面大致如下所示:

Qt5.7用AVD调试程序_第2张图片

安装完后,我们发现,在qtcreater里还是无法创建AVD。此时,我们需要修改Qt里面的"Android SDK"的值:


然后就可以创建AVD了。

我们创建一个ABI为"armeabi-v7a"的AVD,发现Target API只能选择"android-24",就这样吧,先创建一个AVD再说。

创建完后,就开始调试程序了:

Qt5.7用AVD调试程序_第3张图片

很显然,第一次哪有那么顺利嘛,一般会失败的,我们看一下错误信息:

Qt5.7用AVD调试程序_第4张图片

错误信息里提到了"android.bat",我的机器上的"android.bat"能找到2个,如下所示:

C:\android-studio-bundle\Android\sdk_and_tools\tools\android.bat

C:\android-studio-bundle\Android\sdk\tools\android.bat

因为Qt配置的是sdk_and_tools的路径,所以我们需要运行它里面的bat脚本。运行"android.bat"会打开"Android SDK Manager",我们尝试着安装"(API 23)"里面的system image,如下图:

Qt5.7用AVD调试程序_第5张图片

安装完毕后,重启qtcreater.exe程序,再创建一个AVD。我们创建一个ABI为"armeabi-v7a"的AVD时,发现"Target API"可以选择"android-24"或"android-23"了,我们创建一个"Target API"为"android-23"的AVD。

然后重新开始调试。经过漫长的等待之后,AVD启动了,同时还弹出了一个窗口,其标题为"Recommended AVD",内容为"Running an x86 based Android Virtual Device (AVD) is 10x faster. We strongly recommend creating a new AVD."的消息。不要点击OK,点击右上角的关闭按钮忽略掉它即可。

未完待续。

你可能感兴趣的:(Qt)