我升级了Android应用,开始使用SDK 29和构建工具29.0.0。 在Android Studio中进行编译时,出现错误:
处理'命令'C:\ Users \ ma_fo \ AppData \ Local \ Android \ Sdk \ build-tools \ 29.0.0 \ aidl.exe'',完成后返回非零退出值-1073741819
为aidl执行的实际命令是 C:\ Users \ ma_fo \ AppData \ Local \ Android \ Sdk \ build-tools \ 29.0.0 \ aidl.exe,参数为{-pC:\ Users \ ma_fo \ AppData \ Local \ Android \ Sdk \ platforms \ android-29 \ framework.aidl -oE:\ Work \ McDevelopment \ android-sales-app-webview \ app \ build \ Generated \ aidl_source_output_dir \ debug \ compileDebugAidl \ out -IE:\ Work \ McDevelopment \ android-sales-app- webview \ app \ src \ main \ aidl -IE:\ Work \ McDevelopment \ android-sales-app-webview \ app \ src \ debug \ aidl -IC:\ Users \ ma_fo.gradle \ caches \ transforms-2 \ files- 2.1 \ c21a47fa6bee4a2c237691438c7b1f92 \ aidl -IC:\ Users \ ma_fo.gradle \ caches \ transforms-2 \ files-2.1 \ 87cbfb92509988fa6d22255a681cc703 \ aidl -IC:\ Users \ ma_fo.gradle \ caches \ transforms-2 \ 60 \ 3 \ db \ d6 \ 4 \ db \ 6 \ db \ 4 \ db \ d6 \ 3 \ db \ d6 \ 4 \ db \ d6 \ 4 \ db \ d6 \ 4 \ db \ d6 \ 3 \ db \ d6 \ 4 \ db \ d6 \ 4 \ db \ 4 \ db \ 6 \ 6 \ d3 aidl -dC:\ Users \ ma_fo \ AppData \ Local \ Temp \ aidl367254395093906008.d E:\ Work \ McDevelopment \ android-sales-app-webview \ app \ src \ main \ aidl \ com \ android \ vending \ billing \ IInAppBillingService .aidl}
当我借助构建工具28.0.3在MS-DOS提示符下手动运行此命令时,编译过程将顺利进行,没有任何错误。
当我借助构建工具29.0.0运行此命令时,出现错误: aidl E 06-08 18:07:03 4920 13216 io_delegate.cpp:141]创建E:\ Work \ McDevelopment \ android-sales-app-webview \ app \ build \ generated \ aidl_source_output_dir \ debug \ compileDebugAidl时出错\ out \ E ::无效的参数
我希望手动的idl编译对这两个版本都有效。 29.0.0的构建工具中的辅助工具是否存在问题?还是还有其他我需要更新的内容?
答案 0 :(得分:3)
在我的情况下,-d参数中的* .d文件第一行有错误。
从构建工具28.0.3:
C:\[PROJECT-PATH]\app\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\com\android\vending\billing\IInAppBillingService.java : \
通过构建工具29.0.0
C:\[PROJECT-PATH]\app\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\C:\[PROJECT-PATH]\app\src\main\aidl\com\android\vending\billing\IInAppBillingService.java : \
但是我没有解决办法。我认为这是构建工具29.0.0中的错误。
更新:构建工具版本29.0.1已解决此问题。
答案 1 :(得分:3)
这是一个已知的问题,应该已经解决,但不是: https://issuetracker.google.com/issues/132344897
答案 2 :(得分:0)
如果升级后出现错误(例如我),则解决方案已降级。我从29.0.0降级到28.0.3,它对我有用:
C:\>"c:\Users\Plinio\AppData\Local\Android\Sdk\tools\bin\sdkmanager" --list --verbose
. . .
Installed packages:=====================] 100% Computing updates...
--------------------------------------
build-tools;29.0.0
Description: Android SDK Build-Tools 29
Version: 29.0.0
Installed Location: c:\Users\Plinio\AppData\Local\Android\Sdk\build-tools\29.0.0
. . .
Available Packages:
--------------------------------------
. . .
build-tools;28.0.1
Description: Android SDK Build-Tools 28.0.1
Version: 28.0.1
build-tools;28.0.2
Description: Android SDK Build-Tools 28.0.2
Version: 28.0.2
build-tools;28.0.3
Description: Android SDK Build-Tools 28.0.3
Version: 28.0.3
build-tools;29.0.0
Description: Android SDK Build-Tools 29
Version: 29.0.0
. . .
C:\>"c:\Users\Plinio\AppData\Local\Android\Sdk\tools\bin\sdkmanager" build-tools;28.0.3
C:\>"c:\Users\Plinio\AppData\Local\Android\Sdk\tools\bin\sdkmanager" --uninstall build-tools;29.0.0
在降级之前,我试图检查此问题。如果您注意到,路径末尾会有一个“ E:”。如果没有将输出文件分配为第二个参数,则它看起来像是aidl.exe的错误。
aidl.exe [OPTION]... INPUT [OUTPUT]
检查您的错误消息(例如我的消息):
aidl E 06-08 18:07:03 4920 13216 io_delegate.cpp:141] Error while creating E:\Work\McDevelopment\android-sales-app-webview\app\build\generated\aidl_source_output_dir\debug\compileDebugAidl\out\E:: Invalid argument