java - 在自定义 java 库模块中编译 android 模块时出现 Gradle 警告 "unspecified depends on libraries but is a jar "

标签 java android android-studio gradle android-gradle-plugin

我是 Gradle 的新手。我有一个简单的项目结构(如下所示),其中包含一个主要的 android 应用程序模块、一个 android 模块 (myandroidlibrary) 和一个纯 java 模块 (myjavalibrary)。它们具有简单的依赖关系,app -> myjavalibary 和 myjavalibary -> myandroidlibrary(请参见下图)。 Gradle 文件快照也在下面给出。

但是,在同步 gradle 时会产生以下错误:

 D:\MyTestCodes\MyTestApplication\app\build.gradle
 Warning:Module version MyTestApplication:myjavalibrary:unspecified depends on libraries but is a jar

请帮帮我!整理了一整天都没结果!

MyProject
  - app
  - myjavalibrary  (pure java library)
  - myandroidlibrary (android library)

现在依赖如下:

"app" depends on -> "myjavalibrary"
"myjavalibrary" depends on -> "myandroidlibrary"

每个模块的Gradle文件如下:

build.gradle 用于 app:

apply plugin: 'com.android.application'
android {
    // ommitting other detail

 dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile project(':myjavalibrary')
} 

build.gradle 用于 myjavalibrary:

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':myandroidlibrary')
}

build.gradle 用于 myandroidlibrary:

apply plugin: 'com.android.application'
android {

   //ommiting other detail.

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:22.0.0'
}     

settings.gradle:

include ':app', ':myjavalibrary', ':myandroidlibrary'

现在,当我同步 gradle 文件时,它显示以下错误:

 D:\MyTestCodes\MyTestApplication\app\build.gradle
 Warning:Module version MyTestApplication:myjavalibrary:unspecified depends on libraries but is a jar 

最佳答案

警告是由纯 jave myjavalibrary 模块依赖于 myandroidlibrary 模块引起的,它是一个 Android 库。

Gradle 警告您纯 java 模块对 myandroidlibrary 的 Android 特定内容一无所知(例如 Android 资源、 Assets 等)。通过具有这种依赖性(纯 java 到 android 库之一),您可能会丢失一些您期望拥有的东西。

一个更清晰的依赖方向是从 android 库到纯 java 库。在这种情况下,Gradle 不会给您任何警告。

关于java - 在自定义 java 库模块中编译 android 模块时出现 Gradle 警告 "unspecified depends on libraries but is a jar ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780418/

相关文章:

java - 写入文件问题

java - 我的适配器做错了什么?

android - 如何在 Android Studio 中使用最新的 gradle 版本

Android Studio 构建风格

java - Android Studio 和 java 编译器没有 SDK 常量

java - 有什么方法可以阻止浏览器每秒请求相同的图像?

java - BufferedReader 可以读取字节吗?

android - Android 上的黑猩猩聊天

android - 如何在加载 web View 中的新页面时滚动到 ScrollView 的顶部

java - 已解决 : Android Studio: Error implementing recycle view in fragment