无法解析所有配置文件:':app:debugRuntimeClasspath'

Dan*_*iel 11 android build.gradle

我尝试实现第三方 SDK 包,当我运行时react-native run-android出现以下错误:

任务“:app:checkDebugAarMetadata”执行失败。

无法解析配置“:app:debugRuntimeClasspath”的所有文件。

无法解析 com.ts.auth-control-sdk:5.1.1。需要者:项目:应用程序

  > Could not resolve com.ts:auth-control-sdk:5.1.1.
Run Code Online (Sandbox Code Playgroud)
    > Could not get resource 'https://www.jitpack.io/com/ts/auth-control-sdk/5.1.1/auth-control-sdk-5.1.1.pom'.
Run Code Online (Sandbox Code Playgroud)
      > Could not GET 'https://www.jitpack.io/com/ts/auth-control-sdk/5.1.1/auth-control-sdk-5.1.1.pom'.
Run Code Online (Sandbox Code Playgroud)
        > sun.security.validator.Validator.Exception: PKIX path building failed:
Run Code Online (Sandbox Code Playgroud)

sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

在我的文件中app/build.gradle,我有以下设置:

dependencies {
  ...
  implementation "com.ts:auth-control-sdk:5.1.1:arr"
  ...
}
Run Code Online (Sandbox Code Playgroud)

在我的android/build.gradle文件中,我有以下内容:

allprojects {
  repositories {
    ...
    maven {
      url("$rootDir/../com/ts/auth-control-sdk/5.1.1")
    }

    google()
    jcenter()
    maven { url 'https://jitpack.io' }
  }
}
Run Code Online (Sandbox Code Playgroud)

我什至不确定这个第三方 SDK 是否存在于 Jitpack 存储库中。

我实现依赖关系的方式是否犯了错误?

就目录而言maven,根据文档,我com/在移动应用程序的根文件夹内放置了一个名为的文件夹,其文件夹结构为:com > ts > auth-control-sdk > 5.1.1

看起来好像它在里面maven {}会去 Jitpack repo 并寻找库,而不是仅仅去项目的根文件夹。我的这个结论正确吗?

顺便说一句,我把它放在里面,maven {}因为他们的文档说要这样做。

这是否意味着$rootDirmaven查看 Jitpack,因为在所有库下面都有:

maven { url 'https://www.jitpack.io' }

我的结论是否正确,$rootDir即引用 jitpack url 而不是应用程序的根目录?

好吧,我试了一下,结果还是同样的错误。

我相信我根据本文档正确地注释了该​​文件: https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/dsl/DependencyHandler.html

我不是这样注释的:implementation ("com.ts:auth-control-sdk-5.1.1@arr") { transitive=true }

并删除了以下内容:maven { url 'https://www.jitpack.io' }

但后来我得到这个错误:

任务“:app:checkDebugAarMetadata”执行失败。

无法解析配置“app:debugRuntimeClasspath”的所有文件。

找不到 com.ts:auth-control-sdk-5.1.1:。项目所需:app

Dan*_*iel 8

对我有用的是android/build.gradle

maven {
  url("$rootDir/..")
}
Run Code Online (Sandbox Code Playgroud)

我还删除了:

maven {
  url { www.jitpack.io/ }
}
Run Code Online (Sandbox Code Playgroud)

这样它就不会继续前往 Jitpack 存储库来查找该本地目录。

然后在里面app/build.gradle

dependencies {
   ...
   implementation('com.ts:auth-control-sdk:5.1.1@aar') { transitive=true }
}
Run Code Online (Sandbox Code Playgroud)