0

我有一些想要包含在项目中的 AIDL 文件,但是 Eclipse 在不同项目中的工作方式似乎不同。

我正在为应用程序开发 SDK,并且在 SDK android 项目中,AIDL 文件生成正确的 .java 文件,但在主应用程序中,Eclipse 甚至没有尝试构建它。

更新:我找到了一个日志文件,上面写着:

!ENTRY com.android.ide.eclipse.adt 4 0 2012-04-21 19:22:11.043
!MESSAGE Failed to run one of the source processor
!STACK 0
java.lang.NullPointerException
    at com.android.ide.eclipse.adt.internal.build.AidlProcessor.doCompileFiles(AidlProcessor.java:109)
(include rest of stack here...)

4

3 回答 3

1

我今天遇到了这个确切的问题。事实证明,当您的项目中有实际不存在的源文件夹时,就会发生这种情况。

因此,在您的项目 Java Build Path 中验证所有源文件夹是否确实存在。从那里删除死源文件夹链接后,我的项目再次编译了aidl。

于 2012-05-03T01:45:12.423 回答
0

根据我的经验,您在项目中创建 .aidl 文件(确保您包含的包是正确的 - 如果不正确,您将收到错误消息)。如果 .aidl 文件很好,将在 gen/ 目录中以正确的包名称创建一个 .java 文件。

接下来,您必须使用将您的 java 代码连接到接口

<YourAidlClassName>.Stub myAidlInterface = new <YouAidlClassName>.Stub() {

    // Your AIDL interface methods will appear in here and can now be used
    // in your application as myAidlInterface.methodName();
}

希望这可以帮助。

于 2012-04-21T20:29:55.077 回答
0

好的,我不明白这一点,但出于某种原因,ubuntu 的 12.04 标记了一个错误。

在一个项目中,我可以调用该文件IAPPNAMEConect.aidl,但另一个项目希望它为IAPPNAMEService.aidl

我完全忘记了 Java 的严格性

于 2012-05-04T21:32:48.667 回答