android - 将存储库作为子模块添加到我的 android 项目中,并使我在其中的修改与主存储库保持同步
问题描述
我在向我的 android 项目添加子模块时遇到问题。我已经尝试了所有在线可用的教程和一些解决方案,但没有一个确切地说明如何添加子模块并保持您对它的提交与主仓库同步。
我尝试过的解决方案:
解决这个问题:我添加implementation project(':Tools_Demo_App')
了我的 build.gradle 依赖项,然后它显示了这个错误。
然后,如果我添加include ':Tools_Demo_App'
到我的 settings.gradle。这个错误消失了。
但是,我仍然无法添加活动。它说“源根目录之外的Java文件”。
- 我尝试的另一个解决方案是在项目结构中导入一个模块 假设在我克隆我想要添加为子模块的存储库之前,现在我将它作为模块添加到我的项目中。它解决了无法添加活动的问题。但是在这里,问题是它没有作为子模块添加,所以我所做的所有更改都不会反映在我的主仓库中。
无论我做什么,到目前为止,在线可用的教程都没有帮助。如果您使用过子模块并且能够使用它们使所有内容与主仓库保持同步,请提出一些建议。
我实际上想要做什么:
主项目:一个子模块:demo 我想将 demo repo 作为一个基础应用程序来保存我所有的设计、库和模板,这样我就可以将这个子模块添加到我的所有项目中,并从这里挑选可重用的东西,而不是每次都重写所有东西.
解决方案
我想出了一个理想的解决方案。 我的项目名称:子模块名称:x
终端
git add submodule github-link-to-submodule-x
git submodule update --init --recursive
设置.gradle
include ':app'
rootProject.name = "TutorialKotlin"
include ':Tools_Demo_App'
project(':Tools_Demo_App').projectDir = new File('Tools_Demo_App/app')
构建.gradle
implementation project(':Tools_Demo_App')
库模块的 build.gradle
改变
apply plugin: 'com.android.application'
应用插件:'com.android.library'
消除applicationId
确保AndroidManifest.xml中没有启动器活动
同步项目,它工作正常。
推荐阅读
- google-sheets - 在 Google 表格中每隔 n 行计算一个单元格中出现的次数
- objective-c - 从objective c 转换为swift,objective c 中的self.activeKeyboardSize 是什么?
- r - 如何使用 R 找到至少三个 HbA1c 值超过 6.5 的患者
- php - 如何在 php 中使用 curl 的 header
- python - 如何避免我的 sns 热图边缘被切断?
- python - DJANGO CHECK CONSTRAINTS:SystemCheckError:(models.E032)约束名称'age_gte_18'在模型中不是唯一的
- javascript - 将 SVG 路径垂直切成两半并获得结果路径
- reactjs - 在 redux-react 中进行 API 调用时,动作被无限调用
- sql - 为什么不过滤这两个属性?
- performance - 更少的数据位表示是否会提高机器学习模型的训练时间?