2015-04-02 208 views
0

我在Ubuntu 14.04上使用Qt5.4.1。我已經在Android SDK Manager中安裝了Android SDK Tools 24.1.2,Android SDK Platform-tools 22,Android SDK Build-tools 22.0.1和API22。構建Qt Android應用程序失敗

我已經安裝了java-7-openjdk-amd64,並在Qt Creator 3.3.1中添加了Android SDK,Android NDK,java-7-openjdk-amd64和apache-ant-1.9.4的路徑。

如果我創建一個項目的建設我得到這個錯誤:

07:40:06: Running steps for project android01... 
07:40:06: Configuration unchanged, skipping qmake step. 
07:40:06: Starting: "/usr/bin/make" 
make: Nothing to be done for `first'. 
07:40:06: The process "/usr/bin/make" exited normally. 
07:40:06: Removing directory /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build 
07:40:06: Starting: "/usr/bin/make" INSTALL_ROOT=/home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build install 
install -m 755 -p "libandroid01.so" "/home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/libs/armeabi-v7a/libandroid01.so" 
07:40:06: The process "/usr/bin/make" exited normally. 
07:40:06: Starting: "/home/user/Qt5/5.4/android_armv7/bin/androiddeployqt" --input /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-libandroid01.so-deployment-settings.json --output /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build --deployment bundled --android-platform android-22 --jdk /usr/lib/jvm/java-7-openjdk-amd64 --ant /home/user/apache-ant-1.9.4/bin/ant 
Generating Android Package 
    Input file: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-libandroid01.so-deployment-settings.json 
    Output directory: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/ 
    Application binary: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/libandroid01.so 
    Android build platform: android-22 
    Install to device: No 
Buildfile: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/build.xml 

-set-mode-check: 

-set-debug-files: 

-check-env: 
[checkenv] Android SDK Tools Revision 24.1.2 
[checkenv] Installed at /home/user/android-sdk-linux 

-setup: 
    [echo] Project Name: QtApp 
    [gettype] Project Type: Application 

-set-debug-mode: 

-debug-obfuscation-check: 

-pre-build: 

-build-setup: 
[getbuildtools] Using latest Build Tools: 22.0.1 
    [echo] Resolving Build Target for QtApp... 
[gettarget] Project Target: Android 5.1.1 
[gettarget] API level:  22 
    [echo] ---------- 
    [echo] Creating output directories if needed... 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin/res 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin/rsObj 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin/rsLibs 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/gen 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin/classes 
    [mkdir] Created dir: /home/user/QtProjects/_test_/build-android01-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug/android-build/bin/dexedLibs 
    [echo] ---------- 
    [echo] Resolving Dependencies for QtApp... 
[dependency] Library dependencies: 
[dependency] No Libraries 
[dependency] 
[dependency] ------------------ 
    [echo] ---------- 
    [echo] Building Libraries with 'debug'... 
    [subant] No sub-builds to iterate on 

-code-gen: 
[mergemanifest] Merging AndroidManifest files into one. 
[mergemanifest] Manifest merger disabled. Using project manifest only. 
    [echo] Handling aidl files... 
    [aidl] Found 2 AIDL files. 
    [aidl] Compiling 2 AIDL files. 

BUILD FAILED 
/home/user/android-sdk-linux/tools/ant/build.xml:653: The following error occurred while executing this line: 
/home/user/android-sdk-linux/tools/ant/build.xml:659: Execute failed: java.io.IOException: Cannot run program "/home/user/android-sdk-linux/build-tools/22.0.1/aidl": error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) 
    at java.lang.Runtime.exec(Runtime.java:617) 
    at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) 
    at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) 
    at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) 
    at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:628) 
    at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669) 
    at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495) 
    at com.android.ant.AidlExecTask$AidlProcessor.process(AidlExecTask.java:102) 
    at com.android.ant.MultiFilesTask.processFiles(MultiFilesTask.java:131) 
    at com.android.ant.AidlExecTask.execute(AidlExecTask.java:203) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at com.android.ant.IfElseTask.execute(IfElseTask.java:120) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:435) 
    at org.apache.tools.ant.Target.performTasks(Target.java:456) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
    at org.apache.tools.ant.Main.runBuild(Main.java:851) 
    at org.apache.tools.ant.Main.startAnt(Main.java:235) 
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:186) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) 
    ... 48 more 

Total time: 0 seconds 
Building the android package failed! 
    -- For more information, run this command with --verbose. 
07:40:07: The process "/home/user/Qt5/5.4/android_armv7/bin/androiddeployqt" exited with code 14. 
Error while building/deploying project android01 (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.4.1)) 
When executing step "Build Android APK" 
07:40:07: Elapsed time: 00:01. 

問題出在哪裏?

回答

2

sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386解決了這個問題。

相關問題