Android N无法在应用程序结算AIDL中编译

我只是试图用Android Studio 2.1 Preview 1中的新预览SDK 24 Android N编译我的应用程序。

我在应用程序中的应用程序结算。

当试图构build应用程序时,我得到以下exception

aidl.exe E 6416 3312 io_delegate.cpp:102] Error while creating directories: Invalid argument Error:Execution failed for task ':app:compileDebugAidl'. > java.lang.RuntimeException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Gebruiker\AppData\Local\Android\Sdk\build-tools\24.0.0-preview\aidl.exe'' finished with non-zero exit value 1 

我已经尝试使用最新的IInAppBillingService.aidl,但我仍然得到相同的错误。 当我删除I​​InAppBillingService.aidl文件项目编译罚款。

这是我的构buildgradle的一部分

 compileSdkVersion 'android-N' buildToolsVersion "24.0.0 rc1" defaultConfig { applicationId "xxx.myapp" minSdkVersion 14 targetSdkVersion 'N' versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } 

IInAppBillingService.aidl文件位于以下文件夹中

 src/main/aidl/com/android/vending/billing 

如何解决这个问题?

我认为你必须改变点以下

minSdkVersion 'N'compileSdkVersion 'android-N'

更新您的JAVA JDK到1.8


 android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } 

我已更新到最新的Android Studio 2.0 Beta 6,并且由于关于gradle版本的警告不正确而更新了设置以支持Instant Run。 这改变了所有我的buildToolsVersion设置为24 RC 1.开始导致在这个错误报告中描述的aidl错误。 我必须回到buildToolsVersion 23.0.2才能编译和运行。

得到了与我们的InApp的东西和IInAppBillingService.aidl完全相同的问题,花了一些时间,并通过未解决的谷歌问题跟踪器线程,发现(至less暂时)的解决scheme,让我编译项目与最新的东西Android N.

这当然不是很合理,在Google修复了他们需要的任何东西之后,应该将其还原,但是总之,就是用aidl.exereplace当前的beta版Build Tools 24.0.0 rc2中的aidl.exe。目前稳定的一个23.1 – 瞧,“无效的论点”错误已经没有了:)