从JCenter迁移到MavenCentral后无法使用Android库。错误:找不到:未指定:
我刚刚将我的 Android 库从 JCenter 迁移到了 MavenCentral。该过程成功完成,我可以通过Sonatype Repo Search找到我的库。
但是,当我尝试在示例应用程序中使用 lib 时,出现以下错误:
Execution failed for task ':sample:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':sample:debugRuntimeClasspath'.
> Could not find :unspecified:.
Required by:
project :sample > com.techyourchance:threadposter:1.0.0
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
看起来 Gradle 找到了我的库(因为如果我更改为不存在的版本,比如 2.0.0,那么我会得到完全不同的错误),但是工件存在一些问题。
所有源代码(包括 lib 和示例应用程序)都可以在这里找到。具体来说,这里是lib 的build.gradle,这是处理发布到 Sonatype的附加 Gradle 脚本。
我已经花了两个小时在 Internet 上搜索上述每个错误消息,但到目前为止无法解决此问题。
回答
在您的 publish-maven.gradle 中跳过名称为“unspecified”的依赖项。
withXml {
def dependenciesNode = asNode().appendNode('dependencies')
project.configurations.implementation.allDependencies.each {
if (it.name != 'unspecified') {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
THE END
二维码