android studio 之Gradle基本配置

本文详细介绍了Android Studio中Gradle配置的各项参数,包括buildscript、repositories、dependencies、compileSdkVersion、buildToolsVersion等内容,并解释了它们的作用及配置方法。
在使用android studio的时候gradle经常会出现各种各样的配置问题,小编对gradle文件的基本配置做了一些基本整理,希望对各位有用
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
buildscript中的声明是gradle脚本自身需要使用的资源。可以声明的资源包括依赖项、第三方插件、maven仓库地址等。而在build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
虽然gradle支持开箱即用,但是如果你想在脚本中使用一些第三方的插件、类库等,就需要自己手动添加对这些插件、类库的引用。而这些插件、类库又不是 直接服务于项目的,而是支持其它build脚本的运行。所以你应当将这部分的引用放置在buildscript代码块中。gradle在执行脚本时,会优 先执行buildscript代码块中的内容,然后才会执行剩余的build脚本。

buildscript代码块中的repositories和dependencies的使用方式与直接在build.gradle文件中的使用方 式几乎完全一样。唯一不同之处是在buildscript代码块中你可以对dependencies使用classpath声明。该classpath声 明说明了在执行其余的build脚本时,class loader可以使用这些你提供的依赖项。这也正是我们使用buildscript代码块的目的。

而如果你的项目中需要使用该类库的话,就需要定义在buildscript代码块之外的dependencies代码块中


android {
    compileSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION as int //指定的编译SDK
    buildToolsVersion ANDROID_BUILD_TOOLS_VERSION   //指定的编译版本
    defaultConfig {
    }
    buildTypes {        
    }
    compileOptions {
    }
    sourceSets {
    }
    lintOptions {
    }
    productFlavors {
        flavor1 {
        }
        flavor2 {
        }
    }
    signingConfigs {
        release {
            storeFile file(×.keystore)
            storePassword ×××
            keyAlias ××××
            keyPassword ×××
        }
    }
}

defaultConfig:默认配置也相当于全局配置 ,里面的配置buildTypes将自动继承
defaultConfig {
    applicationId com.example.qiujuer.application
    minSdkVersion 15    //最小的sdk版本
    targetSdkVersion 21     //目标sdk版本
    versionCode 1
    versionName 1.0
 
    ndk {
        moduleName genius
        cFlags -DANDROID_NDK -D_RELEASE
        ldLibs m, log, jnigraphics
        abiFilters all
    }
}
在这里,首先进行了一个 applicationId 配置,该配置不是必须,但 库类型的 Model 将无此配置。
ndk部分可直接编译NDK代码
buildTypes :这里配置的是编译配置 有一个release那么也有debug部分,两部分的配置是一样的。在这里进行代码混淆,所以有一个混淆开关,以及混淆文件,文件有两种无论哪种都行
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
shrinkResources true 删除无效的resource,必须和minifyEnabled一起使用
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
}

debug {
minifyEnabled false
zipAlignEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = "filmticket_V${defaultConfig.versionName}_${releaseTime()}_1_A_common_unsigned.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}

}
complieOptions:对java版本的配置,以便使用对应版本的新特性
sourceSets:对源码的设置,从eclipse中迁移过来的代码,都需要设置
sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
        jniLibs.srcDirs = ['libs']    //引用.so文件时设置
    }f
}
LintOptions
lintOptions {
    abortOnError false
}
这个应该放到最后,程序在build的时候会进行Lint检查,有任何错误或者警告的提示,都会终止构建,将其关掉就OK了
productFlavors:设置一些产品发布的东西,如果要发布到不同的渠道,不同渠道的包名不同,可以在里面进行设置甚至可以设置不同的 AndroidManifest.xml文件
signingConfigs:签名配置
signingConfigs {
    release {
        storeFile file(×.keystore)
        storePassword ×××
        keyAlias ××××
        keyPassword ×××
    }
}
这个可以不用自己创建,你可以点击 build/generate signed apk,在其中选择你的文件或者创建签名文件,设置密码等等,然后选择记住密码,然后就会看见有这个配置了。
Android Studio配置 Gradle 可参考以下方面: - **解决下载慢问题**:Android Studio 创建 Gradle 工程时,默认从网络下载对应版本的 Gradle 的 zip 文件,因网络限制速度慢。可通过深入学习和理解 Android Gradle 来明确其在 Android Studio 的工作步骤,以解决该问题 [^1]。 - **了解 Gradle 构建工具特性**:Android Studio 使用 Gradle 构建工具,它继承了 Ant 的强大灵活与 Maven 丰富的依赖管理,配置管理简单,脚本编写方便灵活,插件模块化。Gradle 是任务驱动型构建工具,可通过各种 Plugin 插件扩展功能以适应不同构建任务,对应 Android 项目的 Gradle 插件是 Android Gradle Plugin [^2]。 - **知晓 Mac 上的下载目录**:在 Mac 上,Android Studio 默认会将 Gradle 插件下载到 ~/.gradle 目录下,此目录为系统隐藏目录,可通过终端或者 Finder 查看。在 ~/.gradle 目录中,Gradle 插件的下载路径一般为 ~/.gradle/caches/ [^3]。 - **通用配置选项设置**:在对应文件中添加所有子项目/模块通用的配置选项,例如自动生成的文件里添加了 Gradle 的依赖,可按需设置版本。当需要清除 Gradle 生成的配置文件(即 build 文件夹)时,可执行如下操作。在顶层构建文件中可以添加如下代码: ```groovy // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'com.android.application' version '7.2.1' apply false id 'com.android.library' version '7.2.1' apply false } // 运行gradle clean时,执行此处定义的task任务。 // 该任务继承自Delete,删除根目录中的build目录。 // 相当于执行Delete.delete(rootProject.buildDir)。 // gradle使用groovy语言,调用method时可以不用加()。 task clean(type: Delete) { delete rootProject.buildDir } ``` 上述代码中,当运行 `gradle clean` 时,会执行自定义的 `clean` 任务,该任务继承自 `Delete` 类型,用于删除根项目的 `build` 目录 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值