首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在现有Android项目中使用Gradle

在现有Android项目中使用Gradle
EN

Stack Overflow用户
提问于 2013-06-26 23:08:47
回答 2查看 13K关注 0票数 15

我有一个现有的Android项目,其结构如下:

代码语言:javascript
运行
复制
- ProjectName
-- AndroidManifest.xml
-- local.properties
-- project.properties

-- assets
-- libs    (containing all jars)
-- modules (containing all library projects my project depends on)
-- res

-- src
---- com/namespace/projectname (all my classes including main activity are here)

除了Android Studio IDE默认提供的构建系统之外,我没有使用任何特定的构建系统来构建我的项目(尽管该项目最初是使用IntelliJ CE创建的。

我想在android插件中使用Gradle,并在我的构建过程中做一些工作。为了实现这一点,我尝试了几种配置,但每次都未能成功完成构建。

在这种情况下,推荐的方法是什么?我应该改变我的项目结构吗?或者,是否可以使用现有结构配置gradle?

任何帮助都将不胜感激。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-27 06:32:09

在这种情况下,推荐的方法是什么?我应该改变我的项目结构吗?或者,是否可以使用现有结构配置gradle?

使用您现有的结构配置gradle是完全可能的。

您需要向每个库项目添加一个build.gradle。您还需要在项目根文件夹中添加一个build.gradle和一个settings.gradle文件。

应该是这样的:

代码语言:javascript
运行
复制
  ProjectName
    build.gradle     <<<<<<
    settings.gradle  <<<<<<
    AndroidManifest.xml
    local.properties
    project.properties
    assets
    res
    src
    libs    
    modules 
       module1
          build.gradle  <<<<<<
       module2
          build.gradle  <<<<<<
       module3
          build.gradle  <<<<<<

settings.gradle中,你需要包括所有的项目文件夹,如果你的主项目在一个子文件夹中,它也应该被包括在内,但本例中没有。

settings.gradle应该如下所示:

代码语言:javascript
运行
复制
include ':modules:module1', ':modules:module2', ':modules:module2'

主项目的build.gradle需要有:

代码语言:javascript
运行
复制
dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile project(':modules:module1') 
        compile project(':modules:module2') 
        compile project(':modules:module3') 
}
票数 5
EN

Stack Overflow用户

发布于 2013-06-26 23:52:17

只需在您的计算机上安装gradle,并确保所有路径都是正确的。

然后在你的项目文件夹中创建一个"build.gradle“文件。

下面是一个您可以从以下内容开始的基本示例:

代码语言:javascript
运行
复制
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.+'
    }
}

apply plugin: 'android'

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

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 16
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('yourTestRoot')
    }
}

要像我在dependenciey块中那样寻址你的模块,你必须创建一个settings.gradle文件并引用你的模块作为项目。因为我假设它们也有一个自定义布局,所以你也必须在模块文件夹上制作build.gradle文件。

对于android的设置,你应该访问gradle documentation,这里没有android专用的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17323858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档