我想将自己的库集成到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应用程序。
在沙盒的 gradle 中,我有:
// 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
感谢您的帮助!
问题是那行:compile('com.op.rfgen:0.0.1@aar)
.应该是...compile('com.op:rfgen:0.0.1@aar)
... :D