Android Aidl错误SDK建构工具29.0.0

时间:2019-06-08 21:24:31

标签: android aidl

我升级了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的构建工具中的辅助工具是否存在问题?还是还有其他我需要更新的内容?

3 个答案:

答案 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