使用两个项目

时间:2016-08-17 15:00:54

标签: android maven gradle

我有一个Java项目(使用Maven构建),它是为JAR构建的。它位于一个Android项目中,该项目构建为AAR。然后将其放入普通的Android应用程序中。

Android应用程序具有以下Gradle编译语句:

compile(name: 'library-debug', ext: 'aar')

不幸的是,每当我在library-debug项目中引用一个方法时,我都会收到以下错误:

java.lang.ClassNotFoundException: Didn't find class "org.slf4j.LoggerFactory"

slf4jJava项目中被引用为依赖关系,但它并未包含在Android库中,然后应该可以在Android应用中使用。

我该如何解决这个问题?

更新

要明确,这就是发生的事情

1)Java项目 - >获取内置到JAR

2)Android项目 - >包括Java项目的Jar,并构建到AAR。

3)Android App - >包括Android Project的AAR。

然而,Android应用程序无法识别Java项目中的对象,因为它们是作为Maven依赖项导入的。

1 个答案:

答案 0 :(得分:0)

您必须将slf4j-api.jar作为依赖项添加到您的项目中:

// https://mvnrepository.com/artifact/org.slf4j/slf4j-api
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.21'

或对于maven:

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
相关问题