在编译Android项目时,可能会出现警告提示:
过程试图写入的管道不存在。
1. 观察离警告最近一次命令是:
C:\Qt\Qt5.7.1forAndroid\5.7\android_armv7\bin\androiddeployqt.exe --input D:/QtWorkspace/Android/build-First-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_1-Debug/android-libFirst.so-deployment-settings.json --output D:/QtWorkspace/Android/build-First-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_1-Debug/android-build
--deployment bundled --android-platform android-26 --jdk C:/Java/jdk1.8.0_131 --ant C:/apache-ant-1.9.9/bin/ant.bat
2. 为androiddeployqt.exe添加选项--verbose,
C:\Qt\Qt5.7.1forAndroid\5.7\android_armv7\bin\androiddeployqt.exe --verbose --input D:/QtWorkspace/Android/build-First-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_1-Debug/android-libFirst.so-deployment-settings.json --output D:/QtWorkspace/Android/build-First-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_1-Debug/android-build
--deployment bundled --android-platform android-26 --jdk C:/Java/jdk1.8.0_131 --ant C:/apache-ant-1.9.9/bin/ant.bat
将这条命令在PowerShell上运行,会发现离“过程试图写入的管道不存在。”的最近一条命令是:
D:/Android/sdk/tools/android.bat update project --path D:/QtWorkspace/Android/build-First-Android_for_armeabi_v7a_GCC_4_9_Qt_5_7_1-Debug/android-build/ --target android-26 --name QtApp
3. 同样在PowerShell上运行这条命令,发现提示:
**************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools\bin\sdkmanager.bat
and tools\bin\avdmanager.bat
**************************************************************************
意思是,android sdk tools不再支持android.bat这条命令了。
4. 在网上用“The "android" command is deprecated.”搜索,发现 http://forum.cocos.com/t/creator1-4-1-android/45151 这篇帖子,其中蓝色孤舟给出了详细的说明,大意是新版本的android sdk tools不再支持android.bat这条命令,需要将android sdk tools降级。他同时提供了windows和mac上的版本为25.2.3的android sdk tools。
下载并覆盖android studio的原有tools,编译就会成功了。