Windows下执行aapt2 link报错‘设备无法识别命令’的排查求助
自定义Android构建链中Windows下aapt2 link报错问题及相关疑问
问题核心
在自定义Android构建链中,调用aapt2 link命令关联aapt2 compile生成的文件时,Mac环境下执行正常,但Windows环境下报错:
failed to open file: The device does not recognize the command.
使用相同SDK版本,该问题在多台Windows设备(含本人及构建链用户设备)上均出现。
调用命令如下(路径已简化):
C:\Users\mh\AppData\Local\Android\sdk\build-tools\33.0.1\aapt2.exe link -v -o c:\obj\destination.apk --manifest c:\Obj\manifest.xml --java c:\Obj\java -I C:\obj\android.jar --proto-format --min-sdk-version 26 --target-sdk-version 26 @c:\Obj\Aapt2LinkFiles.txt
注:C:\Obj\Aapt2LinkFiles.txt中列出的所有文件均存在,aapt2会先打印所有文件路径,再抛出上述错误。
补充疑问
Android Studio自动构建过程中能正常完成aapt2相关操作,但无法找到类似Xcode或Visual Studio的完整构建日志,如何查看Android Studio中aapt2的具体调用方式及参数?
复现信息更新
完整命令行:
C:> C:\Users\mh\AppData\Local\Android\sdk\build-tools\33.0.1\aapt2.exe link -v -o c:\Obj\ForAAB.apk --manifest c:\Obj\m.xml --java c:\Obj\java -I C:\obj\a.jar --proto-format --min-sdk-version 26 --target-sdk-version 26 @c:\Obj\files.txt
执行输出:
note: including C:\obj\a.jar. note: linking package 'org.me.testapt2' using package ID 7f. c:\Obj\res-aapt2\drawable-hdpi_icon.png.flat c:\Obj\res-aapt2\drawable-ldpi_icon.png.flat c:\Obj\res-aapt2\drawable-mdpi_icon.png.flat c:\Obj\res-aapt2\drawable-xhdpi_icon.png.flat c:\Obj\res-aapt2\drawable_icon.png.flat c:\Obj\res-aapt2\layout_main.xml.flat: error: failed to open file: The device does not recognize the command. (22). error: failed parsing input.
注:相关文件解压至C:\Obj即可复现问题。
内容的提问来源于stack exchange,提问作者marc hoffman
相关产品推荐
相关产品推荐

