我在Linux上配置了SDK、JDK、NDK。但是,当我试图为android构建我的项目时,会出现这些错误(全部是编译输出):
18:28:22: Running steps for project InstaDL...
18:28:22: Configuration unchanged, skipping qmake step.
18:28:22: Starting: "/usr/bin/make"
make: Nothing to be done for 'first'.
18:28:22: The process "/usr/bin/make" exited normally.
18:28:22: Removing directory /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build/assets
18:28:22: Removing directory /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build/libs
18:28:22: Starting: "/usr/bin/make" INSTALL_ROOT=/home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build install
/home/muhammad/Qt5.9.0/5.9/android_armv7/bin/qmake -install qinstall program libInstaDL.so /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build/libs/armeabi-v7a/libInstaDL.so
18:28:22: The process "/usr/bin/make" exited normally.
18:28:22: Starting: "/home/muhammad/Qt5.9.0/5.9/android_armv7/bin/androiddeployqt" --input /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-libInstaDL.so-deployment-settings.json --output /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build --deployment bundled --android-platform android-25 --jdk /home/muhammad/Android/jdk1.8.0_131 --gradle
Generating Android Package
Input file: /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-libInstaDL.so-deployment-settings.json
Output directory: /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/android-build/
Application binary: /home/muhammad/Documents/qt_projects/build-InstaDL-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_0_for_Android_armv7-Release/libInstaDL.so
Android build platform: android-25
Install to device: No
Warning: QML import could not be resolved in any of the import paths: Qt.Class
Warning: QML import could not be resolved in any of the import paths: QtQuick.Extras.Private.CppUtils
Warning: QML import could not be resolved in any of the import paths: QtQuick.Extras.Private.CppUtils
Warning: QML import could not be resolved in any of the import paths: QtQuick.Controls.Material.impl
Warning: QML import could not be resolved in any of the import paths: QtQuick.Controls.impl
Warning: QML import could not be resolved in any of the import paths: QtQuick.Controls.Universal.impl
Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: /home/muhammad/.gradle/wrapper/dists/gradle-3.4-bin/aeufj4znodijbvwfbsq3044r0/gradle-3.4-bin.zip
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Building the android package failed!
-- For more information, run this command with --verbose.
18:30:23: The process "/home/muhammad/Qt5.9.0/5.9/android_armv7/bin/androiddeployqt" exited with code 14.
Error while building/deploying project InstaDL (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.9.0 for Android armv7))
When executing step "Build Android APK"
18:30:23: Elapsed time: 02:01.我该怎么做才能修好它?提前谢谢。
发布于 2017-07-31 13:30:00
例外情况中的关键行是:
Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: /home/muhammad/.gradle/wrapper/dists/gradle-3.4-bin/aeufj4znodijbvwfbsq3044r0/gradle-3.4-bin.zip`在我以前的雇主,我们很久以前也遇到过同样的问题(使用gradle 1.x)。这要么是gradle本身的限制,要么是它的使用方式的限制(gradle不是--构建工具,它只是一个在完整构建过程中执行十分之一的助手)。
[ Gradle ]:Gradle-1.1:“等待120.0秒后,Gradle Worker N连接的超时。”包含类似的行为。
但是,根据:[ gradle ]:并发运行多个分级进程
实际上,您可以在同一个项目上合理地运行两个Gradle进程,只要它们不干扰彼此正在做的事情(例如删除创建的文件),就可以安全地运行。
One way以摆脱这种情况(这对我有用):
https://stackoverflow.com/questions/44523830
复制相似问题