android - Gradle 无法解析本地 aar 依赖
问题描述
我想将自己的库集成到 Android 应用程序中。在我将它推送到远程 maven repo 之前,我想检查与本地应用程序的集成。所以我把它推到了我的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
推荐阅读
- facebook - "App not setup: This app is still in development mode" Ionic 4 Facebook login
- angular - Set custom validation error using subscribe
- aws-lambda - 带有rds mysql DDL命令的aws lambda不起作用
- android - Room DB runs on main thread when configured not to during instrumented test
- javascript - Jquery drop not fired
- firebase - is there a way to update firestore document fields based on a firebase Auth user info?
- android-studio - Flutter 升级到 Flutter 1.11.0 (Mac OS) 后出现的 Flutter 问题
- c++ - C++ Polymorphism error - Not allowing me to create child object from parent type
- laravel - 如何隐藏所需参数 Laravel 路由
- javascript - Firebase functions rewrite rule /** not working