当前位置: 首页 > 知识库问答 >
问题:

为什么Gradle需要设置。gradle文件?

潘琨
2023-03-14

我将把我的Android项目从Ant转换为Gradle。

我的Eclipse工作区非常简单:

Workspace
     MyApp
     MyApp-AndroidLibrary

当我添加构建时。MyApp中的gradle文件,我想引用我的Android库项目:

apply plugin: 'android'

dependencies {
     compile fileTree(dir: 'libs', include: '*.jar')
     compile project(':MyApp-AndroidLibrary')
}

当我运行gradle build时,出现了一个错误“Project with path”:在根项目中找不到MyApp AndroidLibrary“,我在Google上搜索了一下,发现我需要在我的工作区目录中设置一个“settings.gradle”文件,以添加

include ":MyApp"
include ":MyApp-AndroidLibrary"

这看起来对我来说太糟糕了,为什么Gradle需要一个settings.gradle文件,为什么不只是提取我在依赖项中定义的项目呢?

“包含”真正的含义是什么?如果我在工作区中有另一个应用程序和其他一些共享库,结构可能如下所示:

Workspace
     App1
     App2
     Library1(Used by App1 & App2)
     Library2(Used only by App1)
     Library3(Used only by App2)

因为只有一种设置。gradle文件,我必须将它们全部添加到设置中。格拉德尔。那味道不好。

是的,我可以重新组织结构,使Library2成为App1的子目录,Library3成为App2的子目录,但Library1呢?

对此有何评论?

共有2个答案

公孙宏畅
2023-03-14

以防万一,人们(像我或格拉德曼)仍然有这个问题,无法找到解决方案。使用当前版本的Gradle,您可以执行以下操作:

将文件settings.gradle移动到目录My-App中,并将包含替换为包含平面'MyApp-AndroidLibrary'。这应该可以解决问题。

另外,请比较此问题,并参阅Gradle用户指南中的此部分以了解更多详细信息。

姜兴业
2023-03-14

你在问几个不同的问题。以下是一些提示:

  • MyApp AndroidLibrary是一个逻辑项目路径,它根据设置中提供的信息映射到物理路径。渐变

有关更多信息,请查看Gradle用户指南,特别是关于多项目构建的章节。

 类似资料:
  • Gradle是一个优秀的构建系统和构建工具,它允许通过插件创建自定义的构建逻辑。 我们基于Gradle以下的一些特点而选择了它: 采用了Domain Specific Language(DSL语言)来描述和控制构建逻辑。 构建文件基于Groovy,并且允许通过混合声明DSL元素和使用代码来控制DSL元素以控制自定义的构建逻辑。 支持Maven或者Ivy的依赖管理。 非常灵活。允许使用最好的实现,但

  • 如果你曾经使用过构建工具,你可能会对遇到的问题感到很沮丧,构建工具不是应该自动帮你完成项目的构建吗?你不得不向性能、扩展性等妥协。 比如你在构建一个项目的发布版本时,你要把一个文件拷贝到指定的位置,你在项目的元数据那里添加了版本的描述,如果版本号匹配一个特定的数字时,就把文件从A拷贝到B处。如果你依赖XML来构建,你要实现这个任务就像噩梦一样,你只能通过非标准的机制来添加一些脚本到构建中,结果就是

  • 本文向大家介绍gradle 按需配置,包括了gradle 按需配置的使用技巧和注意事项,需要的朋友参考一下 示例 如果对构建进行概要分析显示在“配置项目”上花费了大量时间,则“按需配置”选项可能会提高性能。 您可以通过编辑$GRADLE_USER_HOME/.gradle/gradle.properties(~/.gradle/gradle.properties默认情况下)并设置来启用按需配置模式

  • 我的Gradle构建需要1分钟到2分钟,我不确定发生了什么。在事件日志中,我大部分时间都只看到一个条目 执行任务:[:app:GenerateDebugSources,:app:PrepareDebugunitTestDependencies,:app:MockableAndroidJar,:app:AssembleDebug] 我不知道这个任务在做什么,我检查了设置,希望这能有所改变,但我运气不

  • 在我的Java项目中,我使用Lombok工具生成getter和setter<它与Maven完美配合,无需任何配置。 为什么我需要为龙目岛配置Eclipse<我已经知道如何配置Eclipse:https://projectlombok.org/download.html 为什么我必须在我的eclipse.ini中添加以下行?

  • 我把它命名为< code>settings.gradle 我需要将其转换为 kotlin DSL 文件。我试过了: 这给出了错误: 无法将类 'org.gradle.api.Plugin' 的插件应用于 'net.vivin.gradle-semantic-build-versioning' (类: java.lang.String),因为它没有实现 PluginAware 这里的问题是什么?