1 在项目根目录添加 gradle
2 新建 module 代替原来的project,从新指定目录结构使其指向根目录下的资源路径java
初始化gradleandroid
$ cd PROJECT_ROOT $ gradle init $ git st ?? .gradle/ ?? build.gradle ?? gradle/ ?? gradlew ?? gradlew.bat ?? settings.gradle
配置sdk信息git
新建文件 local.properties
文件只有一行,指定sdk路径 sdk.dir=...app
$ cat > local.properties sdk.dir=/home/sctdroid/android_sdk/ ^C $ cat local.properties sdk.dir=/home/sctdroid/android_sdk/
配置build.gradleeclipse
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } } allprojects { repositories { jcenter() } }
新建 module 文件夹ide
添加 module 的 build.gradlegradle
$ mkdir calculator $ cd calculator $ touch build.gradle
在 build.gradle 中写入配置信息
成功编译所须要的最小版本ui
// PROJECT_ROOT/build.gradle apply plugin: 'com.android.application' // 导入预约义的 android task android { compileSdkVersion 21 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.sctdroid.calculator" // 包名 } sourceSets { // **重点** 从新指定目标文件的位置。若不指定,gradle 则使用默认的目录结构进行编译,会出现找不到指定文件的错误 main { manifest.srcFile '../AndroidManifest.xml' java.srcDirs = ['../src'] resources.srcDirs = java.srcDirs aidl.srcDirs = java.srcDirs renderscript.srcDirs = java.srcDirs res.srcDirs = ['../res'] assets.srcDirs = ['../assets'] jniLibs.srcDirs = ['../jniLibs'] } androidTest.setRoot('tests') } lintOptions { abortOnError false } }
以计算器为例spa
// PROJECT_ROOT/calculator/build.gradle apply plugin: 'com.android.application' // 导入预约义的 android task android { compileSdkVersion 21 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.sctdroid.calculator" // 包名 minSdkVersion 14 targetSdkVersion 17 } signingConfigs { // 添加签名文件 custom { storeFile file("../app.keystore") storePassword "storepassword" keyAlias "app" keyPassword "keypassword" } // 多渠道打包在这里添加,格式和 custom 相同 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } sourceSets { // **重点** 从新指定目标文件的位置。若不指定,gradle 则使用默认的目录结构进行编译,会出现找不到指定文件的错误 main { manifest.srcFile '../AndroidManifest.xml' java.srcDirs = ['../src'] resources.srcDirs = java.srcDirs aidl.srcDirs = java.srcDirs renderscript.srcDirs = java.srcDirs res.srcDirs = ['../res'] assets.srcDirs = ['../assets'] jniLibs.srcDirs = ['../jniLibs'] } androidTest.setRoot('tests') } lintOptions { abortOnError false } } dependencies { compile files('../libs/libGoogleAnalyticsV2.jar') }
修改setting.gradlecode
添加 include ':calculator'
# .gitignore .gradle build /local.properties
lint
* What went wrong: Execution failed for task ':calculator:lint'. > Lint found errors in the project; aborting build. Fix the issues identified by lint, or add the following to your build script to proceed with errors: ... android { lintOptions { abortOnError false } } ...