Android Studio如何设置可实时同步源文件的Ant风格项目层级
Android Studio 双应用项目实时依赖配置方案
步骤1:清理App B中已复制的冗余App A模块
- 打开App B项目,右键项目结构中之前导入的App A模块,选择「Remove Module」移除引用
- 打开App B的本地项目文件夹,删除复制过来的App A模块对应文件夹,避免后续冲突
步骤2:修改App A的构建配置,支持同时作为独立应用和依赖库
默认application类型的模块无法直接被其他应用依赖,需要添加动态开关:
- 在App A项目根目录的
gradle.properties文件中新增配置:
# 控制App A构建为独立应用还是依赖库,需要单独打包App A时改为true即可 isBuildAsApp = false
- 修改App A模块级的
build.gradle文件头部的插件配置:
if (isBuildAsApp.toBoolean()) { id 'com.android.application' } else { id 'com.android.library' } id 'kotlin-android' // 保留原有其他插件配置
- 同文件下的android配置块中,把
applicationId "xxx.xxx.xxx"移到判断分支内:
android { namespace "xxx.xxx.xxx" compileSdk 34 // 其他通用配置保留 defaultConfig { if (isBuildAsApp.toBoolean()) { // 只有构建为独立应用时才配置applicationId applicationId "xxx.xxx.xxx" } minSdk 24 targetSdk 34 versionCode 1 versionName "1.0" // 其他defaultConfig配置保留 } // 其余buildTypes、flavor等配置保留即可 }
步骤3:在App B项目中引入外部App A模块
- 打开App B项目根目录的
settings.gradle文件,新增App A的引用配置,根据两个项目的实际存放路径修改路径即可,示例为两个项目在同级目录的情况:
pluginManagement { // 保留原有配置 } dependencyResolutionManagement { // 保留原有配置 } // 新增以下内容 include ':app-a' // 路径可以用相对路径(推荐,适合团队协作)也可以用绝对路径 project(':app-a').projectDir = new File(settingsDir, "../AppA/app")
步骤4:为App B添加App A的依赖
- 打开App B模块级的
build.gradle文件,在dependencies块中新增依赖:
dependencies { // 保留原有其他依赖 implementation project(':app-a') }
步骤5:开启实时检测配置
要实现修改App A代码后App B实时报错提示,需打开Android Studio设置:
- 进入
Settings > Build, Execution, Deployment > Compiler,勾选「Build project automatically」 - 进入
Settings > Advanced Settings,找到Compiler分类下的「Allow auto-make to start even if developed application is currently running」,勾选确认 - 点击Sync Now同步项目配置即可生效
注意事项
- 两个项目的compileSdk、minSdk、targetSdk、Kotlin版本、Gradle插件版本尽量保持一致,避免出现编译兼容问题
- 需要单独打包App A时,只需要把App A的gradle.properties中的
isBuildAsApp改为true即可正常构建独立安装包
内容的提问来源于stack exchange,提问作者sgdsgd
相关产品推荐
相关产品推荐

