Composing builds 统一管理依赖 每次关闭编辑器重新打开 后 引用 版本和依赖都失效 得重新 sync now才生效 有大佬给指点下怎么解决么
1条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题描述:每次关闭编辑器重新打开后,引用的版本和依赖都失效,需要重新sync才能生效。如何解决? 解决方案:使用Composing builds来统一管理依赖,避免此问题的发生。 Composing builds是Android Studio 3.0及以上版本引入的一个新功能,它允许您在项目的任何模块中定义依赖关系,从而统一管理依赖。 假设我们有一个名为"app"的模块和一个名为"library"的模块。在之前的做法中,我们需要在"app"模块的build.gradle文件中添加对"library"模块的依赖关系:dependencies { implementation project(':library') }但是,每当我们更改了"library"模块的版本时,都需要手动更新"app"模块的build.gradle文件。而使用Composing builds,我们可以在"app"模块的build.gradle文件中定义一个发布版本,并在"library"模块中引用该版本:
// app模块的build.gradle文件 dependencies { implementation 'com.example.library:library:1.0' } // library模块的build.gradle文件 dependencies { implementation "com.example.library:library:$publishedVersion" }这样,每当我们更改了"library"模块的版本时,只需要更新发布版本即可,不需要手动更新"app"模块的build.gradle文件。 另外,Composing builds还有一个好处,就是可以在根目录下添加一个buildSrc目录,用于统一管理项目中的库和插件版本。这样,每当我们更改了一个版本时,所有依赖该版本的模块都会自动更新。示例目录结构如下:
├── app │ ├── build.gradle │ └── ... ├── library │ ├── build.gradle │ └── ... └── buildSrc ├── build.gradle.kts ├── dependencies.gradle.kts └── ...上面的"dependencies.gradle.kts"文件用于定义项目中使用的库和插件版本:
versions = mapOf( "appcompat" to "1.2.0", "kotlin" to "1.4.21", "gradle" to "4.1.1" ) dependencies { implementation "androidx.appcompat:appcompat:$versions.appcompat" implementation "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin" } buildscript { dependencies { classpath "com.android.tools.build:gradle:$versions.gradle" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin" } }然后,在"app"和"library"模块的build.gradle文件中,我们可以使用这些版本定义:
// app模块的build.gradle文件 dependencies { implementation deps.appcompat implementation deps.kotlin } // library模块的build.gradle文件 dependencies { implementation deps.appcompat implementation deps.kotlin }这样,每当我们更改了一个版本时,所有依赖该版本的模块都会自动更新,无需手动修改每个模块的build.gradle文件。 综上所述,使用Composing builds可以统一管理依赖,避免每次关闭编辑器重新打开后需要重新sync才能生效的问题。同时,也可以在根目录下的buildSrc目录中统一管理项目中的库和插件版本,提高开发效率。
解决 无用评论 打赏 举报