AIDL文件没有在随机项目中构建在Eclipse中?

时间:2012-04-21 18:30:05

标签: android adt aidl

我有一些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...)

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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();
}

希望这有帮助。

答案 2 :(得分:0)

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

在一个项目上,我可以调用文件IAPPNAMEConect.aidl,但另一个项目需要IAPPNAMEService.aidl

我完全忘记了Java在那里的严格性