Android Studio - MavenCentral 依赖同步正常,但无法解析符号
Android Studio - MavenCentral dependency sync ok, but symbol cannot be resolved
因此,我设法创建了一个 Android 库组件并将其发布在 Maven Central 上。但是当我试图将它用作新项目中的依赖项时,Android Studio 似乎无法找到 类.
build.gradle 对于应用程序模块:
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'no.hyper:libdateintervalpicker:1.0.0' //this is the one I want to use
}
这部分似乎可行,至少我没有遇到同步错误。但是,当尝试从我的 MainActivity 访问包和 类 时,Android Studio 找不到它们并给我 "cannot resolve symbol" 消息。
我试过直接从 Maven Central 从存档中下载 classes.jar,它们确实在包中。
同步后其他依赖项似乎出现在 /build/intermediates/exploded-aar 文件夹中,但我的库中没有出现这种情况。
我在 OSX 10.9.5 (Mavericks)
上使用 Android Studio 1.0.2
有什么建议吗?
查看您的 pom,它显示 <packaging>aar.asc</packaging>
。它应该是 aar
而不是。
哦,真正能够使用该库的答案是将 @aar 添加到依赖项中,这样它现在显示为
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'no.hyper:libdateintervalpicker:1.0.0@aar' //note the magic @aar
}
编辑:
删除块
configurations {
archives {
extendsFrom configurations.default
}
}
使Gradle生成具有正确打包条目的pom,从而可以在没有@aar 后缀的情况下引用依赖项
因此,我设法创建了一个 Android 库组件并将其发布在 Maven Central 上。但是当我试图将它用作新项目中的依赖项时,Android Studio 似乎无法找到 类.
build.gradle 对于应用程序模块:
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'no.hyper:libdateintervalpicker:1.0.0' //this is the one I want to use
}
这部分似乎可行,至少我没有遇到同步错误。但是,当尝试从我的 MainActivity 访问包和 类 时,Android Studio 找不到它们并给我 "cannot resolve symbol" 消息。
我试过直接从 Maven Central 从存档中下载 classes.jar,它们确实在包中。
同步后其他依赖项似乎出现在 /build/intermediates/exploded-aar 文件夹中,但我的库中没有出现这种情况。
我在 OSX 10.9.5 (Mavericks)
上使用 Android Studio 1.0.2有什么建议吗?
查看您的 pom,它显示 <packaging>aar.asc</packaging>
。它应该是 aar
而不是。
哦,真正能够使用该库的答案是将 @aar 添加到依赖项中,这样它现在显示为
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'no.hyper:libdateintervalpicker:1.0.0@aar' //note the magic @aar
}
编辑: 删除块
configurations {
archives {
extendsFrom configurations.default
}
}
使Gradle生成具有正确打包条目的pom,从而可以在没有@aar 后缀的情况下引用依赖项