Android 参考项目中的依赖性问题

Android 参考项目中的依赖性问题,android,android-studio,gradle,dependencies,Android,Android Studio,Gradle,Dependencies,我有一个问题,在我的android应用程序中被引用为依赖模块的项目的依赖项似乎没有包含在我的android应用程序的.apk文件中 项目设置 Android应用程序(Android studio和gradle) Java桌面应用程序(IntelliJ/maven/gradle项目) Java模型(android和桌面应用程序使用的类和功能) “Java模型”作为依赖项添加到Android应用程序和Java桌面应用程序中 当我运行桌面应用程序时,JavaModel的依赖关系通过maven解决,

我有一个问题,在我的android应用程序中被引用为依赖模块的项目的依赖项似乎没有包含在我的android应用程序的.apk文件中

项目设置

  • Android应用程序(Android studio和gradle)
  • Java桌面应用程序(IntelliJ/maven/gradle项目)
  • Java模型(android和桌面应用程序使用的类和功能)
“Java模型”作为依赖项添加到Android应用程序和Java桌面应用程序中

当我运行桌面应用程序时,JavaModel的依赖关系通过maven解决,并将其嵌入到应用程序中,一切都可以顺利运行

从androidstudio的角度来看,我已经将JavaModel作为一个模块导入到Android项目中,gradle用于解决依赖关系。我已设置了以下gradle文件:

Android应用程序“settings.gradle”

Android应用程序“build.gradle”

Java模型“build.gradle”

一切都编译得很好,没有任何错误,可以创建一个.apk并在我的测试设备上运行。但是,只要我访问应用程序中由“Java模型”提供的功能(在本例中,我使用的是
org.apache.httpcomponents:HttpClient:4.4.1
依赖项中的
HttpClient
类),我就会得到以下异常:

java.lang.ClassNotFoundException:未找到类 “org.apache.http.impl.client.HttpClients”

请注意,这只是一个示例案例,所有其他依赖项也会出现此问题,这些依赖项仅在“JavaModel”中引用,而在Android应用程序本身中没有引用

在我看来,“JavaModel”的依赖项在编译时工作得很好,因为所有的东西都执行得很好,但是没有包含在.apk文件中,因此导致了这种验证


问题是,我如何(正确地)确保依赖项项目的依赖项也包含在.apk文件中?

Apache http客户端与android客户端冲突,如果要使用最近的一个,需要使用android端口

关于“JavaModel”。若JavaModel的依赖项是编译依赖项,那个么所有依赖项都必须正常工作(假设依赖项并没有像类加载器那个样的奇特代码)

include ':app'
include ':JavaModel'
project(':JavaModel').projectDir=new File('../../JavaModel')
dependencies {
    compile project(':JavaModel')
    // and more...
}
dependencies {
    compile(
            'org.apache.httpcomponents:httpclient:4.4.1'
            // and more ...
    )
}