目录
错误图片及编译输出文本:
解决方法:
探索经过:
错误图片及编译输出文本:
> Task :compileDebugAidl FAILED
aidl.exe E 11-09 17:59:35 7656 7052 io_delegate.cpp:50] Failed to GetFullPathName(D:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\org\kde\necessitas\ministro\IMinistro.java)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileDebugAidl'.
> 1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: com.android.ide.common.process.ProcessException: Error while executing process E:\Android\android-sdk\build-tools\28.0.3\aidl.exe with arguments {-pE:\Android\android-sdk\platforms\android-28\framework.aidl -oD:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out -IE:\Qt\Qt5.14.2\5.14.2\android\src\android\java\src -ID:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\src -ID:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\src\debug\aidl -ID:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\aidl -dC:\Users\ADMINI~1\AppData\Local\Temp\aidl2678606004003770074.d E:\Qt\Qt5.14.2\5.14.2\android\src\android\java\src\org\kde\necessitas\ministro\IMinistro.aidl}
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 6s
1 actionable task: 1 executed
Building the android package failed!
-- For more information, run this command with --verbose.
17:59:36: 进程"E:\Qt\Qt5.14.2\5.14.2\android\bin\androiddeployqt.exe"退出,退出代码 14 。
Error while building/deploying project testforandroid (kit: Android for armeabi-v7a,arm64-v8a,x86,x86_64 (Clang Qt 5.14.2 for Android))
When executing step "Build Android APK"
解决方法:
重要的是这一段,原因是因为路径 D:\project\program\Qt\testforAndroid\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Release\android-build\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\org\kde\necessitas\ministro\IMinistro.java 包含的字符太多了,超过了限制,尝试把文件夹的名字改短一点,具体是要小于252个字节,也就是最多251个字节,
其实最大限制是260,只不过这这个目录下需要生成两个文件,还有一个是:IMinistroCallback.java ,这个文件比 IMinistro.java多8个字节,所以上面这个就需要小于252个字节,
如果上面的满足,下面不满足,就会出现另一个错误
> Task :compileDebugAidl FAILED
aidl.exe E 11-09 18:40:45 7612 920 io_delegate.cpp:50] Failed to GetFullPathName(D:\project\program\Qt\t123456\build-testforandroid-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\android-build\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\org\kde\necessitas\ministro\IMinistroCallback.java)
PS:
2021年1月31日
追加方法:
- 打开项目
2.直接修改这里的目录名字
3.比如我这里改的名字就很简短了,刚才还不能编译成功,现在直接就编译成功了,项目名也可以随意很多
以上就是解决方法,下面是我的苦逼探索经历。
探索经过:
刚遇到的时候还以为是软件出问题了
测试了以前编译成功的工程有都可以用,
环境变量,配置啥的都重新设置了一遍,都不行,
在极尽崩溃的情况下,选择了把最近安装的vs2017卸载,还是不行,
崩溃!
把qt卸载重装,还是一样!疯了!?
在网上没看到这方面的回答,百度知道上有一个这样的问题,没人知道为啥
于是翻译了一下这个问题表述,无法获取完整路径名,
于是我尝试打开了这个目录,从这里复制一下,
尝试打开,发现找不到,
那我只好一层一层一层的剥开你的心,咳咳咳不好意思窜频了,我只好一层一层一层的打开文件夹,发现到这里之后,再往下的内容就没有了,
于是我打开一个可以编译成功的工程下的文件夹,把之后的文件都复制一份放进去
然后依次打开目录,可以看到里面躺着的两个文件
再次编译,结果发现还是一样,关键的地方来了,我又准备查看一下刚才复制的文件还在不在,结果出现了一个错误,也就是刚才复制的文件已经被删除了,
于是我把两个路径放在一起对比了一下(上面的是编译出错的,下面的是编译成功的),发现就是一个长一个短,于是想就是不是因为名字太长了
于是就开始测试了,结果真的是。在后面就去查了看是是不是文件夹名字长度是不是又限制,就发现以前是有限制的,260,于是就测试了以下,果然是260显示,不过现在的win10是没有这个限制了,所以,在win10下是可以使用,但是qt中还不行。
这应该算是一个bug,有空的时候可以给他们提一下。
秋风清
秋月明
落叶聚还散
寒鸦复栖惊
相逢相见知何日
此时此夜难为情
—————— 江湖夜雨飘零客 2020年11月9日19:36:16