我想将自己的库集成到 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
感谢您的帮助!
最佳答案
问题是那一行:
编译('com.op.rfgen:0.0.1@aar)
。应该是... compile('com.op:rfgen:0.0.1@aar)
... :D
关于android - Gradle 无法解决本地 aar 依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57818166/