2012-04-21 21 views
0

我有一些AIDL文件需要包含在项目中,但是Eclipse似乎对不同的项目有不同的效果。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

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

在一个项目上,我可以叫文件IAPPNAMEConect.aidl但对方希望它作为IAPPNAMEService.aidl

我完全忘了Java的严格有

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(); 
} 

希望这有助于接口。

+0

我使用的是从另一个它尝试编译复制相同的文件,但在主应用程序,它甚至不会给出错误。 – 2012-04-21 20:34:38

+0

从另一个复制?确保.aidl文件具有所有正确的软件包名称,否则将无法编译。 – jjNford 2012-04-21 21:08:47

+0

是的,它是在正确的包名下。它只是不尝试构建它: – 2012-04-21 21:30:11

1

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

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

相关问题