Expo项目中如何在android/app/build.gradle添加第三方依赖避免prebuild覆盖
解决方案
方法1:项目级Gradle统一配置依赖
直接在项目根目录的build.gradle文件中添加依赖,这个文件不会被prebuild --clean命令覆盖:
allprojects { repositories { google() mavenCentral() } dependencies { implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1' implementation 'com.android.installreferrer:installreferrer:2.2' } }
如果仅需给app模块引入依赖,也可以在app模块的build.gradle的dependencies块中添加,但要确认该文件是用户可编辑的(而非自动生成的临时文件)。
方法2:自定义Gradle脚本引入依赖
这种方式能彻底避免自动构建工具覆盖依赖配置:
- 在项目根目录新建
custom_deps.gradle文件,写入依赖配置:
dependencies { implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1' implementation 'com.android.installreferrer:installreferrer:2.2' }
- 在app模块的
build.gradle顶部添加脚本引用:
apply from: '../custom_deps.gradle'
执行prebuild --clean后,这个引用关系会保留,依赖会被自动加载。
关键注意事项
- 不要修改自动生成的临时
build.gradle文件,这类文件会在清理构建缓存后被重新生成,修改必然丢失。 - 确保项目的
repositories块中包含google()和mavenCentral(),否则这两个依赖无法被正常下载。
内容的提问来源于stack exchange,提问作者Rita Ranum
相关产品推荐
相关产品推荐

