我是一只生活在格拉德尔的新蜜蜂。我有一个简单的项目结构(如下图所示),它有一个主要的android应用程序模块、一个android模块(myandroidlibrary)和一个纯java模块(myjavalibrary)。它们有简单的依赖项,app -> myjavalibary和myjavalibary -> myandroidlibrary (请参阅图1)。下面)。下面也给出了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"
每个模块的分级文件如下:
build.gradle
for 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
for myjavalibrary
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':myandroidlibrary')
}
用于myandroidlibrary的build.gradle
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
发布于 2016-02-20 14:28:35
警告是由纯jave myjavalibrary
模块依赖于myandroidlibrary
库(即myandroidlibrary
库)引起的。
Gradle警告您,纯java模块对myandroidlibrary
中的Android特定内容一无所知(比如Android资源、资产等)。通过拥有这种依赖(纯java到android库),您可能会失去一些您希望拥有的东西。
一个更清晰的依赖方向应该是从android库到纯java库。在这种情况下,Gradle不会给您任何警告。
发布于 2015-05-07 16:25:24
如果您想从java代码创建一个Android应用程序项目,请使用apply plugin: 'com.android.application'
。
如果要从java代码创建库项目,请使用apply plugin: 'com.android.library'
。
如果您想使用预先生成的jar文件,请不要为它们创建任何项目。只需将它们添加到项目中,添加到依赖于它们的libs
文件夹中即可。compile fileTree(dir: 'libs', include: ['*.jar'])
在dependencies
中会照顾他们。
https://stackoverflow.com/questions/29780418
复制相似问题