运行 在 Android 中使用 2.0 浏览器示例时出错

Error when running cling 2.0 Browser example in Android

我正在尝试在 Android 4.1 和更高版本上使用 Cling 2.0 成为 upnp 渲染器和服务器。 当浏览器示例运行时出现以下错误:

Process: com.mike.cling_test, PID: 8846
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/eclipse/jetty/server/Server;
at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.resetServer(JettyServletContainer.java:165)
at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.<init>(JettyServletContainer.java:57)
            at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.<clinit>(JettyServletContainer.java:55)

我用谷歌搜索了这个错误,我找到了 Cling User forum

我已经按照答案中列出的步骤进行操作,但我仍然遇到同样的错误。在线手册似乎不是我应该使用的手册。有没有2.0版本说明书的pdf?

我遇到了同样的问题,问题是在没有jetty库的情况下提供了cling。

你必须像这样使用maven依赖:

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jetty.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlet</artifactId>
            <version>${jetty.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-client</artifactId>
            <version>${jetty.version}</version>
        </dependency>

或者,如果您像我一样使用 Android 工作室,请更新您的 gradle 脚本:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile files('src/libs/cling-core-2.0.1.jar')
    compile files('src/libs/cling-support-2.0.1.jar')
    compile files('src/libs/seamless-http-1.1.0.jar')
    compile files('src/libs/seamless-util-1.1.0.jar')
    compile files('src/libs/seamless-xml-1.1.0.jar')
    compile 'org.eclipse.jetty:jetty-servlet:8.1.8.v20121106'
    compile 'org.eclipse.jetty:jetty-client:8.1.8.v20121106'
    compile 'org.eclipse.jetty:jetty-server:8.1.8.v20121106'    
}

希望有所帮助。