如何将模块添加到项目中?

4

这里有一个库:

https://github.com/Yalantis/uCrop

它包含两个模块:Sampleucrop,所有的逻辑都在其中。

问题是,当我将ucrop模块复制到我的项目中时,也添加了这个:

dependencies {
...
 implementation project(':ucrop')
....
}

我知道只需要添加以下代码到 settings.gradle 文件中即可将新模块包含在项目中:

include ':ucrop', ':app'

然后,我尝试编译应用程序,但出现以下错误:

无法在任务执行期间解决此 BuildableArtifact。

模块“ucrop”是一个没有构建变体的 Android 项目,因此不能进行构建。 请在 build.gradle 文件中修复该模块的配置,然后再次同步该项目。

为什么我的项目不想包含新模块呢?

如果有问题,请随时提问。

谢谢。


你是否已经从ucrop build.gradle文件中删除了**apply from: '../mavenpush.gradle'**?如果没有,请删除并重试。 - Dhaval Patel
@DhavalPatel 我没有删除它,因为我也将这个文件添加到了我的项目中... 所以它应该可以工作... - Sirop4ik
然后,请确保从https://github.com/Yalantis/uCrop/blob/master/build.gradle文件中复制内容。 - Dhaval Patel
@DhavalPatel 当然它包含在 ucrop 模块中。所以如果我复制模块,我也会复制他的 gradle 文件。 - Sirop4ik
3个回答

5

克隆您想要作为模块包含的存储库。

提供您克隆存储库的路径。 现在假设我想将日历模块包含到我的项目中。

1.现在进入Android Studio,点击文件->新建->导入模块。

2.将此行添加到应用程序的build.gradle中

implementation project(':calender')

3. 在settings.gradle中添加这行代码。

include ':calendar'

编辑:您还需要修改模块的build.gradle文件。在构建类型下,您需要添加这行代码。
flavorDimensions "default"

但我不需要整个代码库,我只需要其中的一个模块... 你觉得呢? - Sirop4ik
从我在公司模块看到的情况来看,调试没有定义配置,请包括调试类型并将风味维度添加到默认设置中。 - Ajay Chauhan
你有尝试过这样做吗? - Sirop4ik
当我遇到类似的问题时,我在我的项目中尝试了这个方法。它解决了那个错误。 - Ajay Chauhan

2

在Android Studio中导入模块的步骤:

1) 打开File菜单 -> NEW-> Import Module...

2) 选择要导入的模块源目录并单击完成。

3) 打开Project Structure,为您的项目打开新导入的模块。

4) 打开Dependencies选项卡。

5) 单击(+)图标并选择Module Dependency。选择该模块并单击确定。(如果找不到Module Dependency,则尝试以下方式)

6) 打开您的build.gradle文件,并检查该模块现在是否在依赖项列表中。

-----> 第二种方法

1) 打开File菜单 -> NEW -> Import Module...

2) 选择要导入的模块源目录并单击完成。

3) 打开项目的settings.gradle文件,您会发现新添加的模块名称,在此复制。

4) 打开build.gradle文件,并通过下面的依赖项导入模块

例如(如果您的模块名称为ClientLibrary)

    implementation project(path: ':ClientLibrary')

5) 同步 Gradle。就是这样。


1
  1. 在Android Studio中,右键单击应用程序,选择新建 -> 模块
  2. 选择需要包含的 .AAR 包并提供文件名路径
  3. 右键单击您的应用程序,选择打开模块设置
  4. 在模块设置中打开应用程序,并单击添加按钮以添加模块依赖项
  5. 选择要包含的模块。
  6. 您可以通过将Android视图更改为侧边栏中的项目视图来确认模块导入

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接