2017-06-13 26 views
1

我已经在Linux Ubuntu上配置了SDK,JDK,NDK。但是当我试图建立我的项目为Android,论文出现错误(编译所有输出):Qt的创造者不会构建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. 

我应该做些什么来解决呢?提前致谢。

回答

0

异常中的关键行是:

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: “Timeout after waiting 120.0 seconds for Gradle Worker N to connect.”包含类似的行为。

但是,根据:[Gradle]: Running multiple gradle processes concurrently

实际上,你可以运行两个摇篮在同一项目上合理的安全处理,只要他们不什么对方是做混乱(如删除创建的文件)。

一种方式获得摆脱这种局面的(即工作对我来说):

  • 找到(gradle这个的java)过程中,保持锁定的文件(也许这是一个以前的版本挂起) - 你可以用[man]: lsof找出锁定文件的过程 - 并杀死它
  • 如果上面的步骤还不够,还可以干净gradle的缓存
+0

已回答您的问题吗? – CristiFati