12 android gradle build-dependencies
我想使用 Stepper-Touch github 库。为此我必须添加 jitpack.io
allproject{
repositories{
[here]
}
}
Run Code Online (Sandbox Code Playgroud)
在我的 build.gradle 项目文件中。没有
allproject{...}
Run Code Online (Sandbox Code Playgroud)
部分,所以我自己添加了它,但我得到了这个错误
Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'
Run Code Online (Sandbox Code Playgroud)
然后我寻找答案,发现有人说我应该删除
dependencyResolutionManagement
Run Code Online (Sandbox Code Playgroud)
我的 settings.gradle 文件中的部分。我这样做了,但其他依赖项(例如约束布局、实时数据的依赖项)停止工作。帮帮我,我该如何解决这一切?:(
小智 22
从 7.XX gradle 构建工具开始。allprojects 已弃用 使用dependencyResolutionManagement是在构建的每个子项目中声明存储库的最佳实践。因此,Android 项目将不再在其项目 build.gradle 文件中生成 allprojects 块。相反,它将在 settings.gradle 中生成 dependencyResolutionManagement 块。
如果您使用 dependencyResolutionManagement 获得与 allprojects 块相同的结果,则不应遇到任何问题。您可以将存储库添加到 dependencyResolutionManagement 存储库块,就像使用 allprojects 块一样
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
// e.g this is how you would add jitpack
maven { url "https://jitpack.io" }
// Add any repositories you would be adding to all projects here
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想使用旧方法
从 settings.gradle 中删除整个 dependencyResolutionManagement 块,使其看起来像
rootProject.name = "My Application"
include ':app'
Run Code Online (Sandbox Code Playgroud)
然后将 allproject 块添加到您的项目 build.gradle 中,并确保添加 dependencyResolutionManagement 中的所有依赖项,因此在我们的示例中它看起来像
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
// e.g this is how you would add jitpack
maven { url "https://jitpack.io" }
// Add any repositories you would be adding to all projects here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9033 次 |
| 最近记录: |