【问题标题】:Using Gradle with an existing Android project将 Gradle 与现有 Android 项目一起使用
【发布时间】:2013-06-26 15:08:46
【问题描述】:

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

- 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 创建的。

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

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

任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: android gradle android-studio android-build


    【解决方案1】:

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

    之后,在您的项目文件夹中创建一个“build.gradle”文件。

    这是一个基本示例,您可以从这里开始:

    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 文件。

    对于 settings.gradle 设置,您应该访问 gradle documentation,这里没有特定于 android 的内容。

    【讨论】:

    • 文件不应该命名为“build.gradle”而不是“gradle.build”吗?
    【解决方案2】:

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

    完全可以使用现有结构配置 gradle。

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

    应该是这样的:

      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 应该如下所示:

    include ':modules:module1', ':modules:module2', ':modules:module2'
    

    主项目的build.gradle应该有:

    dependencies {
            compile fileTree(dir: 'libs', include: '*.jar')
            compile project(':modules:module1') 
            compile project(':modules:module2') 
            compile project(':modules:module3') 
    }
    

    【讨论】:

    • 对不完整投反对票,请添加如何创建 build.gradle。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多