android学习笔记---61_Widgets,窗口小部件的制作...

本文档详细介绍了如何在Android中创建一个显示时间的窗口小部件,包括在清单文件中声明AppWidgetProvider、定义AppWidgetProviderInfo、布局设计、定时更新以及服务的实现。通过实例代码展示了如何利用TimerService定时刷新小部件显示的时间,并在用户点击小部件时启动电话拨号器。此外,还讨论了Widgets的生命周期及其更新机制。

2013/5/20
61_Widgets
------------------
Java技术qq交流群:JavaDream:2515720721.Widgets就是指窗口小部件,就是浮动在窗口中的部件.
2.当添加小部件的时候,是发出一个更新广播,对于同一个,窗口小部件可以
  在桌面上放置多个.
---------------------------------------
3.如果只要更新特定某个Widgets,需要给要更新的Widgets指定ip
  如果更新某一种Widgets,需要指定Widgets的名称
----------------------------------------------
4.这里为了演示Widgets应用,借助帮助文档来完成,一个显示时间的窗口小部件.
  帮组文档地址:
  G:\android\android-sdk-windows\docs\guide\topics\appwidgets\index.html
------------------------------------------------------------
a.首先在清单文件中描述:
   Declaring an App Widget in the Manifest
    First, declare the AppWidgetProvider class in your application's AndroidManifest.xml file. For example:
<receiver android:name

09:22:56: 为项目APP_1Andrion执行步骤 ... 09:22:56: 正在启动 "E:\QT\5.14.2\android\bin\qmake.exe" E:\test\Qt_Project\APP_1Andrion\APP_1Andrion.pro -spec android-clang "CONFIG+=debug" "CONFIG+=qml_debug" ANDROID_ABIS="armeabi-v7a" Info: creating stash file E:\test\Qt_Project\build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\.qmake.stash 09:22:57: 进程"E:\QT\5.14.2\android\bin\qmake.exe"正常退出。 09:22:57: 正在启动 "E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe" -f E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/Makefile qmake_all make: Nothing to be done for `qmake_all'. 09:22:57: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:22:58: 正在启动 "E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe" -j16 E:\QT\5.14.2\android\bin\uic.exe ..\APP_1Andrion\appview.ui -o ui_appview.h E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\Bluetooth_Contro_Module.obj ..\APP_1Andrion\Bluetooth_Contro_Module.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\bluetooth_connect.obj ..\APP_1Andrion\bluetooth_connect.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\customvolumeslider.obj ..\APP_1Andrion\customvolumeslider.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\joystick.obj ..\APP_1Andrion\joystick.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\main.obj ..\APP_1Andrion\main.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\appview.obj ..\APP_1Andrion\appview.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\pid.obj ..\APP_1Andrion\pid.c E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\servocontrol.obj ..\APP_1Andrion\servocontrol.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\videoplayer.obj ..\APP_1Andrion\videoplayer.cpp ..\APP_1Andrion\pid.c:46:37: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare] else if(sptr->Uk>>sptr->BitMove <= 0u) ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ 1 warning generated. E:\QT\5.14.2\android\bin\rcc.exe -name ICon ..\APP_1Andrion\ICon.qrc -o armeabi-v7a\qrc_ICon.cpp ..\APP_1Andrion\joystick.cpp:265:15: warning: unused variable 'angle' [-Wunused-variable] float angle = qDegreesToRadians(i * 360.0 / directionCount); ^ E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -dM -E -o armeabi-v7a\moc_predefs.h ..\..\..\QT\5.14.2\android\mkspecs\features\data\dummy.cpp 1 warning generated. E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\qrc_ICon.obj armeabi-v7a\qrc_ICon.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\Bluetooth_Contro_Module.h -o armeabi-v7a\moc_Bluetooth_Contro_Module.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\appview.h -o armeabi-v7a\moc_appview.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\bluetooth_connect.h -o armeabi-v7a\moc_bluetooth_connect.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\customvolumeslider.h -o armeabi-v7a\moc_customvolumeslider.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\joystick.h -o armeabi-v7a\moc_joystick.cpp E:\QT\5.14.2\android\bin\moc.exe -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB --include E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/armeabi-v7a/moc_predefs.h -IE:/QT/5.14.2/android/mkspecs/android-clang -IE:/test/Qt_Project/APP_1Andrion -IE:/QT/5.14.2/android/include -IE:/QT/5.14.2/android/include/QtMultimediaWidgets -IE:/QT/5.14.2/android/include/QtMultimedia -IE:/QT/5.14.2/android/include/QtWidgets -IE:/QT/5.14.2/android/include/QtGui -IE:/QT/5.14.2/android/include/QtNetwork -IE:/QT/5.14.2/android/include/QtSerialPort -IE:/QT/5.14.2/android/include/QtBluetooth -IE:/QT/5.14.2/android/include/QtCore -I. -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include/c++ -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/lib64/clang/8.0.7/include -IE:/android-ndk-r20b-windows-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/include ..\APP_1Andrion\videoplayer.h -o armeabi-v7a\moc_videoplayer.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_Bluetooth_Contro_Module.obj armeabi-v7a\moc_Bluetooth_Contro_Module.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_appview.obj armeabi-v7a\moc_appview.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_bluetooth_connect.obj armeabi-v7a\moc_bluetooth_connect.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_customvolumeslider.obj armeabi-v7a\moc_customvolumeslider.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_joystick.obj armeabi-v7a\moc_joystick.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -target armv7a-linux-androideabi21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -g -marm -O0 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_CORE_LIB -I..\APP_1Andrion -I. -I..\..\..\QT\5.14.2\android\include -I..\..\..\QT\5.14.2\android\include\QtMultimediaWidgets -I..\..\..\QT\5.14.2\android\include\QtMultimedia -I..\..\..\QT\5.14.2\android\include\QtWidgets -I..\..\..\QT\5.14.2\android\include\QtGui -I..\..\..\QT\5.14.2\android\include\QtNetwork -I..\..\..\QT\5.14.2\android\include\QtSerialPort -I..\..\..\QT\5.14.2\android\include\QtBluetooth -I..\..\..\QT\5.14.2\android\include\QtCore -Iarmeabi-v7a -I. -I..\..\..\QT\5.14.2\android\mkspecs\android-clang -o armeabi-v7a\moc_videoplayer.obj armeabi-v7a\moc_videoplayer.cpp E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -target armv7a-linux-androideabi21 -fno-limit-debug-info -Wl,-soname,libMYAPP_armeabi-v7a.so -Wl,-rpath-link=E:/QT/5.14.2/android/lib -Wl,--build-id=sha1 -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libMYAPP_armeabi-v7a.so @armeabi-v7a\object_script.libMYAPP_armeabi-v7a.so.Armeabi-v7a E:/QT/5.14.2/android/lib/libQt5MultimediaWidgets_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Multimedia_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Widgets_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Gui_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Network_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5SerialPort_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Bluetooth_armeabi-v7a.so E:/QT/5.14.2/android/lib/libQt5Core_armeabi-v7a.so -lGLESv2 -llog -lz -lm -ldl -lc 09:23:02: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:23:02: 正在启动 "E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe" "INSTALL_ROOT=E:\test\Qt_Project\build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\android-build" install E:\QT\5.14.2\android\bin\qmake.exe -install qinstall -exe libMYAPP_armeabi-v7a.so E:\test\Qt_Project\build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\android-build\libs\armeabi-v7a\libMYAPP_armeabi-v7a.so 09:23:03: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:23:03: Starting: "E:\QT\5.14.2\android\bin\androiddeployqt.exe" --input E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/android-MYAPP-deployment-settings.json --output E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/android-build --android-platform android-26 --jdk E:/jdk --gradle Generating Android Package Input file: E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/android-MYAPP-deployment-settings.json Output directory: E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/android-build/ Application binary: MYAPP Android build platform: android-26 Install to device: No Skipping E:/QT/5.14.2/android/lib/libQt5MultimediaQuick_armeabi-v7a.so due to unmet dependencies: lib/libQt5QmlModels_armeabi-v7a.so,lib/libQt5Qml_armeabi-v7a.so,lib/libQt5Quick_armeabi-v7a.so Skipping lib/libQt5MultimediaQuick_armeabi-v7a.so due to unmet dependencies: lib/libQt5QmlModels_armeabi-v7a.so,lib/libQt5Qml_armeabi-v7a.so,lib/libQt5Quick_armeabi-v7a.so -- Skipping E:/QT/5.14.2/android/lib/libQt5MultimediaQuick_armeabi-v7a.so. It has unmet dependencies: lib/libQt5QmlModels_armeabi-v7a.so,lib/libQt5Qml_armeabi-v7a.so,lib/libQt5Quick_armeabi-v7a.so. -- Skipping E:/QT/5.14.2/android/plugins/video/videonode/libplugins_video_videonode_qtsgvideonode_android_armeabi-v7a.so. It has unmet dependencies: lib/libQt5QmlModels_armeabi-v7a.so,lib/libQt5Qml_armeabi-v7a.so,lib/libQt5Quick_armeabi-v7a.so. -- Skipping E:/QT/5.14.2/android/plugins/iconengines/libplugins_iconengines_qsvgicon_armeabi-v7a.so. It has unmet dependencies: lib/libQt5Svg_armeabi-v7a.so. -- Skipping E:/QT/5.14.2/android/plugins/imageformats/libplugins_imageformats_qsvg_armeabi-v7a.so. It has unmet dependencies: lib/libQt5Svg_armeabi-v7a.so. Skipping createRCC > Configure project : WARNING: The option setting 'android.bundle.enableUncompressedNativeLibs=false' is experimental and unsupported. The current default is 'true'. > Task :preBuild UP-TO-DATE > Task :preDebugBuild UP-TO-DATE > Task :compileDebugAidl > Task :compileDebugRenderscript NO-SOURCE > Task :checkDebugManifest > Task :generateDebugBuildConfig > Task :mainApkListPersistenceDebug > Task :generateDebugResValues > Task :generateDebugResources > Task :javaPreCompileDebug > Task :createDebugCompatibleScreenManifests > Task :processDebugManifest > Task :mergeDebugShaders > Task :compileDebugShaders > Task :generateDebugAssets > Task :mergeDebugAssets > Task :processDebugJavaRes NO-SOURCE > Task :checkDebugDuplicateClasses > Task :validateSigningDebug > Task :signingConfigWriterDebug > Task :mergeDebugJniLibFolders > Task :mergeExtDexDebug > Task :mergeDebugNativeLibs > Task :stripDebugDebugSymbols > Task :mergeDebugResources > Task :processDebugResources > Task :compileDebugJavaWithJavac > Task :compileDebugSources 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 > Task :transformClassesWithDexBuilderForDebug > Task :mergeDebugJavaResource > Task :mergeDexDebug > Task :packageDebug > Task :assembleDebug BUILD SUCCESSFUL in 11s 25 actionable tasks: 25 executed Android package built successfully in 17.441 ms. -- File: E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug/android-build//build/outputs/apk/debug/android-build-debug.apk 09:23:20: 进程"E:\QT\5.14.2\android\bin\androiddeployqt.exe"正常退出。 09:23:20: Elapsed time: 00:25.
07-06
### 分析构建日志中的关键错误信息 在部署 Qt 项目到 Android 设备时,根据提供的构建日志,核心错误出现在最后的 APK 安装阶段。具体表现为: ```bash adb: failed to stat E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release/android-build//build/outputs/apk/android-build-debug.apk: No such file or directory ``` 该错误表明 ADB 尝试安装 APK 文件时未能找到对应的 `android-build-debug.apk`。这通常意味着构建流程未能成功生成 APK 文件,或者输出路径配置不正确。 --- ### 检查构建过程中是否生成了 APK 文件 Qt 在构建 Android 应用时会通过 Gradle 构建系统生成 APK 文件,默认情况下,APK 会被放置在以下路径中: ``` <build_directory>/android-build/build/outputs/apk/ ``` 可以手动进入此目录确认是否存在 `android-build-debug.apk` 或其他版本(如 `android-build-release.apk`)。如果未发现 APK 文件,则可能是由于资源编译失败、签名问题或 Gradle 配置错误导致构建中断。 可以在命令行中运行以下命令以获取更详细的构建日志: ```bash E:\QT\5.14.2\android\bin\androiddeployqt.exe --input android-MYAPP-deployment-settings.json --output android-build --verbose ``` 启用 `--verbose` 参数有助于识别构建过程中的潜在错误[^1]。 --- ### 确保 ANDROID_PACKAGE_SOURCE_DIR 设置正确 Qt 使用 `ANDROID_PACKAGE_SOURCE_DIR` 变量指定 Android 构建所需的资源目录结构。如果此变量未正确设置,可能导致无法生成完整的 APK 文件。可以在 `.pro` 文件中添加如下配置确保路径指向有效的 Android 资源目录: ```qmake android { ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android } ``` 同时,确保项目目录下存在名为 `android` 的子目录,并包含必要的 `AndroidManifest.xml` 文件以及资源文件夹(如 `res` 和 `assets`)[^1]。 --- ### 手动使用 androiddeployqt 工具打包并部署 APK 如果自动构建失败,可以尝试使用 `androiddeployqt` 工具手动打包 APK 并安装到设备。执行以下命令以生成 APK: ```bash E:\QT\5.14.2\android\bin\androiddeployqt.exe --input android-MYAPP-deployment-settings.json --output android-build --install --verbose ``` 其中 `android-MYAPP-deployment-settings.json` 是 Qt 自动生成的部署配置文件,通常位于构建目录中。通过启用 `--verbose` 参数可以获得详细的构建和部署日志,从而定位具体问题所在[^1]。 --- ### 清理构建缓存并重新构建 有时旧的构建缓存可能导致 APK 文件未能正确生成。可以尝试删除项目中的 `build` 和 `android-build` 目录,并重新执行构建流程: ```bash rm -rf build android-build mkdir build cd build qmake .. -spec android-clang make ``` 确保每次构建前都清理之前的输出,以避免因残留文件导致的构建异常。 --- ### 检查 ADB 是否正常识别设备 确保 Android 设备被 ADB 正确识别,并处于开发者模式且启用了 USB 调试功能。执行以下命令检查设备连接状态: ```bash adb devices ``` 如果设备显示为 `unauthorized`,请在设备上确认 RSA 密钥授权提示。此外,尝试重启 ADB 服务以解决连接问题: ```bash adb kill-server adb start-server ``` 然后再重新连接设备[^3]。 --- ### 确保 SDK 和 NDK 版本兼容性 Qt 5.14.2 对 Android SDK 和 NDK 的版本有一定要求。建议使用 SDK Tools 26.x 和 NDK r19c,以确保与 Qt 构建系统兼容。可以在 Qt Creator 中进入 **Tools > Options > Kits > Android** 查看相关配置是否完整,包括 JDK、SDK 和 NDK 的路径设置是否正确[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值