我想将自己的库集成到Android应用程序中。
在将其推送到远程Maven存储库之前,我想检查与本地应用程序的集成。因此,我已将其推送到我的mavenLocal()
。
Maven是通过brew install maven
这是我的问题-Gradle无法解决对我库的依赖。
我得到的错误只是ERROR: Failed to resolve: com.op.rlgen:0.0.1
在库中,我使用maven-publish
插件:
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
groupId 'com.op'
artifactId 'rlgen'
version '0.0.1'
artifact("$buildDir/outputs/aar/rlgen-release.aar")
pom.withXml {
// generating pom logic here
}
}
}
// For `publish` task use mavenLocal
repositories {
mavenLocal()
}
}
使用以下方法在我的Maven上发布库:
./gradlew :rlgen:publishToMavenLocal
在以下路径中,我有2个文件,一个扩展名为aar
,第二个扩展名为pom
:
~/.m2/repository/com/op/rfgen
我认为问题是由于主应用程序中的脚本非常复杂而引起的,所以我创建了一个沙箱,清除了Android应用程序。
在沙箱中,我有:
// project level
allprojects {
repositories {
mavenLocal()
google()
jcenter()
// also tried with
maven {
url "~/.m2/repository"
}
}
}
// app level
dependencies {
compile('com.op.rfgen:0.0.1@aar) {
transitive = true
}
}
我检查mavenLocal是否指向正确的文件夹,看来还可以:
// in gradle
repositories {
println(mavenLocal().url) // file:/Users/op_user/.m2/repository/
}
并且由于以下原因,由于以下原因,我无法向该aar添加依赖项:
ERROR: Failed to resolve: com.op.rlgen:0.0.1:
Affected Modules: app
感谢您的帮助!
答案 0 :(得分:0)
问题是那条线:
compile('com.op.rfgen:0.0.1@aar)
。应该是... compile('com.op:rfgen:0.0.1@aar)
...:D