我是 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/