我刚刚将Android环境升级到:
但是,当我要构建项目时,它总是在任务processXXXDebugResources
上失败,并显示以下错误:
AAPT err(Facade for 111853366) : No Delegate set : lost message:error: unknown command '--output-text-symbols'.
AAPT err(Facade for 111853366) : No Delegate set : lost message:Error
Failed to execute aapt
我不知道--output-text-symbols
的来源。看来--output-text-symbols
是程序aapt
的参数,但是最新的gradle插件使用了另一个新的aapt2
。
android.enableAapt2=false
可以使此问题消失,但警告信息将不建议使用此选项。
The option 'android.enableAapt2' is deprecated and should not be used anymore.
Use 'android.enableAapt2=true' to remove this warning.
It will be removed at the end of 2018..
答案 0 :(得分:1)
我找到了解决方法。
在我的build.gradle中,有一个aaptOptions {
noCompress "" // <- zero length string
}
,字符串参数的长度为零:
aapt
它曾经在2.x gradle插件上运行,但在最新的3.x版本上失败。新插件似乎为aapt -0 '' --output-text-symbols
^
this is the zero-length string from aaptOptions in bulid.gradle
命令提供了错误的参数。
我的怀疑:
在旧版本中,参数可能是:
aapt -0 --output-text-symbols
^
something is missing
但是在最新版本中,它变为:
aaptOptions {
noCompress " " // <- one char length space string
}
然后我尝试使用一个字符长度的空格字符串:
aapt -0 ' ' --output-text-symbols
^
the space comes back
我猜现在争论变成了:
#select!
然后为我解决问题。