将存储库作为子模块添加到我的 android 项目中,并使我在其中的修改与主存储库同步

Adding a repository to my android project as a submodule and keeping my modifications in it in sync with main repo

我在向 android 项目添加子模块时遇到问题。我已经尝试了所有在线可用的教程和一些解决方案,但 none 确切说明了如何添加子模块,并使您的提交与主仓库同步。

我尝试过的解决方案:

  1. Git 子模块添加 repo-link 问题:它将子模块添加到我的项目中,但是当我单击它以在子模块中创建新的 activity 时,它没有显示创建 activity 的选项。

解决这个问题: 我在我的 build.gradle 依赖项中添加了 implementation project(':Tools_Demo_App'),然后它显示了这个错误。

然后,如果我将 include ':Tools_Demo_App' 添加到我的 settings.gradle。此错误消失。 但是,我仍然无法添加 activity。它说“Java 源根目录之外的文件”。

  1. 我尝试的另一个解决方案是在项目结构中导入一个模块 假设在克隆我的 repo 之前,我已经想将其添加为子模块,现在我将其作为模块添加到我的项目中。它解决了无法添加 activity 的问题。但在这里,问题是它没有作为子模块添加,所以我所做的所有更改都没有反映在我的主仓库中。

无论我做什么,到目前为止 none 的在线教程都对我有所帮助。请提出一些建议,如果您使用过子模块并且能够使用它们使所有内容与主仓库同步。

其实我想做什么:

主要项目:A 子模块:演示 我想保留 demo repo 作为基础应用程序以保留我所有的设计、库和模板,这样我就可以将这个子模块添加到我的所有项目中,然后从这里选择可重用的东西,而不是每次都重写所有东西。

我想出了一个理想的解决方案。 我的项目名称:A 子模块名称:x

终端

git add submodule github-link-to-submodule-x
git submodule update --init --recursive

settings.gradle

include ':app'
rootProject.name = "TutorialKotlin"
include ':Tools_Demo_App'
project(':Tools_Demo_App').projectDir = new File('Tools_Demo_App/app')

build.gradle

 implementation project(':Tools_Demo_App')

build.gradle 库模块

改变

apply plugin: 'com.android.application'

至 应用插件:'com.android.library'

移除applicationId

确保 AndroidManifest.xml

中没有启动器 activity

同步项目,它工作正常。