在现有的Android项目中使用Gradle

我有一个现有的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) 

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

我想用Android插件使用Gradle,并在构build过程中做一些工作。 为了达到这个目的,我尝试了几个configuration,并且每次都没能完成一个成功的构build。

在这种情况下推荐的方法是什么? 我应该改变我的项目结构吗? 还是有可能使用现有的结构来configurationgradle

任何帮助将不胜感激。

谢谢!

在这种情况下推荐的方法是什么? 我应该改变我的项目结构吗? 还是有可能使用现有的结构来configurationgradle?

使用你现有的结构来configurationgradle是完全可能的。

您需要为每个库项目添加一个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设梯度应该有:

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

只需在您的计算机上安装gradle并确保所有path均可用。

之后,在Project文件夹中创build一个“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块中那样为了解决模块问题,你必须创build一个settings.gradle文件,并将你的模块作为项目引用。 由于我假设他们也有一个自定义的布局,你也必须在模块文件夹上build.gradle文件。

对于settings.gradle设置你应该访问gradle 文档 ,这里没有特定的android。