使用gradle来编译生成apk

:简介

gradle基于groovy语言,跟maven相似,是一种依赖管理工具。

androidstudio项目中的gradle

  • 每个moudle下会有一个build.gradle文件,算是项目中最主要的gradle文件
//表明是android应用而不是java程序
apply plugin: 'com.android.application'
//声明sdk的版本
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
//基本的一些信息比如说包名,向下兼容的最低sdk版本,目标sdk版本
    defaultConfig {
        applicationId "com.example.test2"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
           //是否进行混淆
            minifyEnabled false
            //混淆文件的位置
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
//依赖的的包
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
// compile 'com.mcxiaoke.volley:library:1.0.+'


}

每一个moudle都有一个gradle文件,语法内容基本相同,有时候开头可能会有区别。比如apply plugin: ‘com.android.library’

  • 如下图
    使用gradle来编译生成apk_第1张图片
    主要是properties那个文件
#Wed Oct 21 11:34:03 PDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip

可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。

  • 项目根目录下还有一个build.gradle
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

主要是声明库的来源,jcenter()

  • 根目录下还有一个setting.gradle
    这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module。

mac下使用命令安装gradle

brew install gradle

命令行使用gradle进行编译

  1. 如果第三方项目是使用gradle进行管理的。下载后进入根目录,执行
    ./gradlew -v 来查看下项目所用的Gradle版本,如果本地没有的话,会去下载相应版本的gradle。成功后会有如下提示
    使用gradle来编译生成apk_第2张图片

  2. 接着执行 ./gradlew clean
    会去下载gradle的一些依赖成功后如图
    这里写图片描述
    注意:有可能会遇到以下错误:
    使用gradle来编译生成apk_第3张图片
    解决方式:在项目根目录下建立一个local.properties文件,然后编辑文件加入:sdk.dir=${sdk目录}即可

  3. 最后执行./gradlew build看到以下信息即表示成功
    这里写图片描述
  4. 然后到app/build/outputs/apk目录下即可看到编译成功的apk

你可能感兴趣的:(android,gradle)