我遇到了同样的问题并且在 Android Studio 上工作正常。有两种方法可以解决这个问题。
方法一:
将 AIDL 文件放在 src/main/aidl 包下以遵循 gradle 构建的默认源设置。
这是简单的方法,但不聪明。
方法二:
将 aidl 文件保存在您的自定义包下。
在 build.gradle 文件中添加源设置映射如下
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
}
Run Code Online (Sandbox Code Playgroud)如上所述设置后,不要忘记清理和重建。
更多信息请参考这里,
https://issuetracker.google.com/issues/36972230
https://issuetracker.google.com/issues/36972230
https://issuetracker.google.com/issues/36988483
Eclipse会直接在.aidl文件中显示错误,因此请先检查您的文件.我遇到了类似的问题,发现了我的问题:我为我的界面功能添加了前缀public.那是错的.例如:
package com.example.phone.service;
interface IService {
public void placeCall(String a, in String b, in String c);
}
Run Code Online (Sandbox Code Playgroud)
应该:
package com.example.phone.service;
interface IService {
void placeCall(String a, in String b, in String c);
}
Run Code Online (Sandbox Code Playgroud)
不要忘记.java生成的文件gen/不在src/.
我遇到了类似的问题.使用Android Studio时,除非您在Gradle中覆盖该文件,否则该文件必须位于特定位置.
我必须将aidl文件放在'src/main/aidl/example/package/name /'中 - 在aidl文件中声明的包将是'package example.package.name'.
它要求文件位于特定的aidl文件夹中,并且文件夹结构与aidl中声明的包名称相匹配.我在这里找到了最初的提示:https://code.google.com/p/android/issues/detail?id = 56328
尝试清理项目,这通常有助于解决这些类型的错误。还要检查它是否不包含错误,因为错误可能会阻止某些编译步骤的完成。
假设您使用 Eclipse 查看“控制台”视图(窗口 > 显示视图 > 控制台),其中应包含编译过程的输出。