我有一些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...)
乔
答案 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在那里的严格性