3

我对一组 AIDL 服务有疑问。

我有一个 Android 应用程序,其中包含名为 es.mypackage.services 的数据包中的 AIDL 文件。这些 AIDL 文件定义明确且名称正确。此外,这个包还包含这些 AIDL 文件的实现。这些 java 实现在清单中定义为服务。编译完成后,在 gen 文件夹中创建了一个包 es.mypackage.services。

除了这个 android 应用程序之外,我还有另一个应用程序,它只是这些服务的客户端。在这个应用程序中,我有一个名为 es.mypackage.services 的包,其中包含相同的 AIDL 文件。编译完成后,在 gen 文件夹中创建了一个包 es.mypackage.services。

然后,我在设备中运行“服务器”应用程序。然后,我还在同一设备上运行“客户端”,在 LogCat 中获得以下错误:

java.lang.NoClassDefFoundError: es.mypackage.services.MyService
ERROR/AndroidRuntime(3499):at es.mypackage.services.MyService.onBind(MyService.java:26)

好吧,第 26 行的代码是“return new IMyService.Stub()”,它在里面:

  @Override  
  public IBinder onBind(Intent arg0) 
  { return new IMyService.Stub()    
    { ….

我不知道发生了什么。有人有同样的问题吗?提前致谢。

4

0 回答 0