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 } } ...