android - 将 Gradle 与现有的 Android 项目结合使用

标签 android gradle android-studio android-build

我有一个具有以下结构的现有 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?

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

只需在您的计算机上安装 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 block 中那样处理您的模块,您必须创建一个 settings.gradle 文件并将您的模块作为项目引用。因为我假设它们也有自定义布局,所以您也必须在模块文件夹中制作 build.gradle 文件。

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

关于android - 将 Gradle 与现有的 Android 项目结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17323858/

相关文章:

java - 梯度构建 "ClassNotFoundException"

android - 基于gradle中产品 flavor 的包装选项

android-studio - Android Studio 错误 : java. lang.UnsupportedOperationException

android - fragment 中的 MaterialDrawer 后退按钮

java - 如何等待线程和处理程序初始化

java - 将空对象转换为字符串

android - Android Studio 0.4.2 Gradle构建错误

处理多线程的 Android Activity

gradle - Gradle任务将Java文件和资源编译为zip文件

java - 符号构建期间发生意外异常(rebuildModuleMaps)