Android App在org.osgi.framework.SynchronousBundleListener上引发NoClassDefFoundError

时间:2019-03-18 21:11:24

标签: android android-gradle jersey osgi build.gradle

使用Android Studio,我的应用使用了一个内部使用“ org.glassfish.jersey”的库来发出HTTP请求。当我的应用程序运行时,它反复发出堆栈跟踪,表明它无法解析“ org.osgi.framework.SynchronousBundleListener”

  

I /合子:拒绝先前失败的类的重新初始化   java.lang.Class:   java.lang.NoClassDefFoundError:无法解决以下问题:   Lorg / osgi / framework / SynchronousBundleListener

     

在org.glassfish.jersey.internal.ServiceFinder上org.glassfish.jersey.internal.ServiceFinder.find(java.lang.Class)(ServiceFinder.java:288)

     

无效org.glassfish.jersey.client.ClientConfig $ State。(org.glassfish.jersey.client.JerseyClient)(ClientConfig.java:152)

可悲的是,我什至不知道什么是OSGI。 (我已经找到了有关OSGI“捆绑包”和OSGI组件模型的页面,但是我不需要直接使用OSGI(无论它是什么)。)这似乎是一个需要且缺少的依赖项。

我的项目使用“ build.gradle”文件声明依赖项,例如,似乎我对“ org.glassfish.jersey”的依赖项声明如下:

implementation 'org.glassfish.jersey.core:jersey-client:2.17', {
   exclude group: 'org.glassfish.hk2.external'
}

但是我的“ build.gradle”文件没有提及“ osgi”作为依赖项。

如何使“ org.osgi.framework”类可用于需要它们的库?是否可以添加到我的“ build.gradle”文件中的implementation行,或者需要下载的外部jar?

0 个答案:

没有答案