Android dependencies

Gradle依赖详解
本文详细解释了Gradle中不同依赖配置的作用,包括compile、testCompile等,并阐述了它们在构建过程中的具体行为。
dependencies中用到了compiletestCompileandroidTestCompileProvidedAPKDebug compileRelease compile 依赖方式,让我们来看看他们有什么区别:


1、compile:参与编译,并且会打包到debug/release apk中。
2、testCompile:只参与单元测试编译,不会打包到debug/release apk包中,不需要设备支持。
3、androidTestCompile:只参与UI测试编译,不会打包到debug/release apk包中,需要设备支持。
4、Provided:只参与编译,不会打包到debug/release apk中。
5、APK:不参与编译,只会打包到debug/release apk中。
6、Debug compile:只参与debug编译,只会打包到debug apk中。
7、Release compile:只参与release编译,只会打包到release apk中。
Initializing deployment to Android device/simulator Deploying to 10AC560029000J7 09:10:32: 为项目APP_1Andrion执行步骤 ... 09:10:32: 正在启动 "E:\QT\5.14.2\android\bin\qmake.exe" E:\test\Qt_Project\APP_1Andrion\APP_1Andrion.pro -spec android-clang "CONFIG+=qtquickcompiler" ANDROID_ABIS="armeabi-v7a" 09:10:33: 进程"E:\QT\5.14.2\android\bin\qmake.exe"正常退出。 09:10:33: 正在启动 "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-Release/Makefile qmake_all make: Nothing to be done for `qmake_all'. 09:10:33: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:10:33: 正在启动 "E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe" -j16 make: Nothing to be done for `first'. 09:10:34: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:10:34: Removing directory 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/libs 09:10:34: 正在启动 "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-Release\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-Release\android-build\libs\armeabi-v7a\libMYAPP_armeabi-v7a.so 09:10:34: 进程"E:\android-ndk-r20b-windows-x86_64\android-ndk-r20b\prebuilt\windows-x86_64\bin\make.exe"正常退出。 09:10:34: Android deploy settings file not found, not building an APK. 09:10:34: Starting: "E:\QT\5.14.2\android\bin\androiddeployqt.exe --verbose --output 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 --no-build --input 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-MYAPP-deployment-settings.json --gradle --reinstall --device 10AC560029000J7" 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-Release/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-Release/android-build/ Application binary: MYAPP Android build platform: android-26 Install to device: 10AC560029000J7 Detecting dependencies of application. Reading dependencies from 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//libs/armeabi-v7a/libMYAPP_armeabi-v7a.so lib/libQt5Bluetooth_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so lib/libQt5MultimediaWidgets_armeabi-v7a.so lib/libQt5Multimedia_armeabi-v7a.so lib/libQt5Network_armeabi-v7a.so lib/libQt5SerialPort_armeabi-v7a.so lib/libQt5Widgets_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Bluetooth_armeabi-v7a.so lib/libQt5AndroidExtras_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5AndroidExtras_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Core_armeabi-v7a.so Appending dependency: lib/libQt5Core_armeabi-v7a.so Reading Android dependencies for Qt5Core_armeabi-v7a Appending dependency: lib/libQt5AndroidExtras_armeabi-v7a.so Reading Android dependencies for Qt5AndroidExtras_armeabi-v7a Appending dependency: lib/libQt5Bluetooth_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Gui_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so Appending dependency: lib/libQt5Gui_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5MultimediaWidgets_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so lib/libQt5Multimedia_armeabi-v7a.so lib/libQt5Network_armeabi-v7a.so lib/libQt5OpenGL_armeabi-v7a.so lib/libQt5Widgets_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Multimedia_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so lib/libQt5Network_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Network_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so Appending dependency: lib/libQt5Network_armeabi-v7a.so Reading Android dependencies for Qt5Network_armeabi-v7a Appending dependency from xml: plugins/bearer/libplugins_bearer_qandroidbearer_arm64-v8a.so Appending dependency from xml: plugins/bearer/libplugins_bearer_qandroidbearer_armeabi-v7a.so Appending dependency from xml: plugins/bearer/libplugins_bearer_qandroidbearer_x86.so Appending dependency from xml: plugins/bearer/libplugins_bearer_qandroidbearer_x86_64.so Appending dependency: lib/libQt5Multimedia_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5OpenGL_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so lib/libQt5Widgets_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5Widgets_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so Appending dependency: lib/libQt5Widgets_armeabi-v7a.so Reading Android dependencies for Qt5Widgets_armeabi-v7a Appending dependency from xml: plugins/styles/libplugins_styles_qandroidstyle_arm64-v8a.so Appending dependency from xml: plugins/styles/libplugins_styles_qandroidstyle_armeabi-v7a.so Appending dependency from xml: plugins/styles/libplugins_styles_qandroidstyle_x86.so Appending dependency from xml: plugins/styles/libplugins_styles_qandroidstyle_x86_64.so Appending dependency: lib/libQt5OpenGL_armeabi-v7a.so Reading Android dependencies for Qt5Multimedia_armeabi-v7a Appending dependency from xml: lib/libQt5MultimediaQuick_armeabi-v7a.so Appending dependency from xml: plugins/mediaservice/libplugins_mediaservice_qtmedia_android_arm64-v8a.so Appending dependency from xml: plugins/mediaservice/libplugins_mediaservice_qtmedia_android_armeabi-v7a.so Appending dependency from xml: plugins/mediaservice/libplugins_mediaservice_qtmedia_android_x86.so Appending dependency from xml: plugins/mediaservice/libplugins_mediaservice_qtmedia_android_x86_64.so Appending dependency from xml: plugins/audio/libplugins_audio_qtaudio_opensles_arm64-v8a.so Appending dependency from xml: plugins/audio/libplugins_audio_qtaudio_opensles_armeabi-v7a.so Appending dependency from xml: plugins/audio/libplugins_audio_qtaudio_opensles_x86.so Appending dependency from xml: plugins/audio/libplugins_audio_qtaudio_opensles_x86_64.so Appending dependency from xml: plugins/video/videonode/libplugins_video_videonode_qtsgvideonode_android_arm64-v8a.so Appending dependency from xml: plugins/video/videonode/libplugins_video_videonode_qtsgvideonode_android_armeabi-v7a.so Appending dependency from xml: plugins/video/videonode/libplugins_video_videonode_qtsgvideonode_android_x86.so Appending dependency from xml: plugins/video/videonode/libplugins_video_videonode_qtsgvideonode_android_x86_64.so Appending dependency from xml: plugins/playlistformats/libplugins_playlistformats_qtmultimedia_m3u_arm64-v8a.so Appending dependency from xml: plugins/playlistformats/libplugins_playlistformats_qtmultimedia_m3u_armeabi-v7a.so Appending dependency from xml: plugins/playlistformats/libplugins_playlistformats_qtmultimedia_m3u_x86.so Appending dependency from xml: plugins/playlistformats/libplugins_playlistformats_qtmultimedia_m3u_x86_64.so No android dependencies for Qt5OpenGL_armeabi-v7a Appending dependency: lib/libQt5MultimediaWidgets_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/lib/libQt5SerialPort_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so Appending dependency: lib/libQt5SerialPort_armeabi-v7a.so Reading Android dependencies for Qt5Bluetooth_armeabi-v7a Reading Android dependencies for Qt5Gui_armeabi-v7a Appending dependency from xml: plugins/platforms/libplugins_platforms_qtforandroid_arm64-v8a.so Appending dependency from xml: plugins/platforms/libplugins_platforms_qtforandroid_armeabi-v7a.so Appending dependency from xml: plugins/platforms/libplugins_platforms_qtforandroid_x86.so Appending dependency from xml: plugins/platforms/libplugins_platforms_qtforandroid_x86_64.so Appending dependency from xml: plugins/iconengines/libplugins_iconengines_qsvgicon_arm64-v8a.so Appending dependency from xml: plugins/iconengines/libplugins_iconengines_qsvgicon_armeabi-v7a.so Appending dependency from xml: plugins/iconengines/libplugins_iconengines_qsvgicon_x86.so Appending dependency from xml: plugins/iconengines/libplugins_iconengines_qsvgicon_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qgif_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qgif_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qgif_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qgif_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qicns_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qicns_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qicns_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qicns_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qico_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qico_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qico_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qico_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qjpeg_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qjpeg_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qjpeg_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qjpeg_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qsvg_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qsvg_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qsvg_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qsvg_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtga_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtga_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtga_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtga_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtiff_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtiff_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtiff_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qtiff_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwbmp_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwbmp_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwbmp_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwbmp_x86_64.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwebp_arm64-v8a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwebp_armeabi-v7a.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwebp_x86.so Appending dependency from xml: plugins/imageformats/libplugins_imageformats_qwebp_x86_64.so No android dependencies for Qt5MultimediaWidgets_armeabi-v7a No android dependencies for Qt5SerialPort_armeabi-v7a 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 Reading dependencies from E:/QT/5.14.2/android/plugins/bearer/libplugins_bearer_qandroidbearer_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Network_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/plugins/platforms/libplugins_platforms_qtforandroid_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so Reading dependencies from E:/QT/5.14.2/android/plugins/mediaservice/libplugins_mediaservice_qtmedia_android_armeabi-v7a.so lib/libQt5Core_armeabi-v7a.so lib/libQt5Gui_armeabi-v7a.so lib/libQt5Multimedia_armeabi-v7a.so lib/libQt5Network_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 Scanning for QML imports. Running qmlimportscanner with the following command: E:/QT/5.14.2/android/bin/qmlimportscanner.exe -qrcFiles E:/test/Qt_Project/APP_1Andrion/ICon.qrc -rootPath E:/test/Qt_Project/APP_1Andrion/ -importPath E:/QT/5.14.2/android/qml E:/test/Qt_Project/APP_1Andrion/ Copying 1 dependencies from Qt into package. Copying STL library -- Copied 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//libs/armeabi-v7a/libc++_shared.so Skipping createRCC Installing Android package to device. Running command "E:/Androisdk/platform-tools/adb.exe -s 10AC560029000J7 install -r 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" Performing Streamed Install 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 Installing to device failed! 09:10:37: The process "E:\QT\5.14.2\android\bin\androiddeployqt.exe" exited with code 16. 09:10:37: Pulling files necessary for debugging. 09:10:37: Package deploy: Running command "E:\Androisdk\platform-tools\adb.exe -s 10AC560029000J7 pull /system/bin/app_process E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release/app_process". 09:10:37: Package deploy: Running command "E:\Androisdk\platform-tools\adb.exe -s 10AC560029000J7 pull /system/bin/app_process32 E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release/app_process". 09:10:37: Package deploy: Running command "E:\Androisdk\platform-tools\adb.exe -s 10AC560029000J7 pull /system/bin/linker E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release/linker". 09:10:38: Package deploy: Running command "E:\Androisdk\platform-tools\adb.exe -s 10AC560029000J7 pull /system/lib/libc.so E:/test/Qt_Project/build-APP_1Andrion-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release/libc.so". Error while building/deploying project APP_1Andrion (kit: Android for armeabi-v7a,arm64-v8a,x86,x86_64 (Clang Qt 5.14.2 for Android)) When executing step "Deploy to Android device" 09:10:38: Elapsed time: 00:06.
最新发布
07-06
### 检查构建输出路径和文件生成状态 在部署 Android 应用时,若提示 `adb install error no such file or directory android-build-debug.apk`,首先应确认构建过程中是否成功生成了 APK 文件。Qt 在构建 Android 项目时,默认会将构建输出存放在项目目录下的 `android-build-*` 文件夹中。可以进入该目录检查是否存在 `android-build-debug.apk` 或 `android-build-release.apk` 文件。 如果未找到 APK 文件,可能是由于资源编译失败、清单文件配置错误或签名信息缺失等原因导致构建中断。可以通过查看 Qt Creator 的“编译输出”窗口或手动运行 `qmake` 和 `androiddeployqt` 工具来获取更详细的错误信息: ```bash qmake -spec android-clang make ``` 确保构建过程无任何错误后,再尝试部署操作[^1]。 ### 配置正确的 ANDROID_PACKAGE_SOURCE_DIR 路径 Qt 在部署 Android 应用时依赖 `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\Qt5.14.2\5.14.2\android\bin\androiddeployqt.exe --input android-json.json --output android-build --install --verbose ``` 其中 `android-json.json` 是 Qt 自动生成的部署配置文件,通常位于构建目录中。通过启用 `--verbose` 参数可以获得详细的构建和部署日志,从而定位具体问题所在。 ### 清理构建缓存并重新构建 有时旧的构建缓存可能导致 APK 文件未能正确生成。可以尝试删除项目中的 `build` 和 `android-build` 目录,并重新执行构建流程: ```bash rm -rf build android-build mkdir build cd build qmake .. -spec android-clang make ``` 确保每次构建前都清理之前的输出,以避免因残留文件导致的构建异常[^1]。 ### 检查 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值