Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >build.gradle文件介绍,gradle版本对应

build.gradle文件介绍,gradle版本对应

作者头像
zhangjiqun
发布于 2024-12-16 08:28:31
发布于 2024-12-16 08:28:31
55303
代码可运行
举报
文章被收录于专栏:计算机工具计算机工具
运行总次数:3
代码可运行

Could not find com.android.tools.build:gradle:3.0.1.

在项目的build.gradle中加入google 两个位置啊;下图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'

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

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
gradle版本对应
在这里插入图片描述
在这里插入图片描述
build.gradle文件介绍

对于以前用Eclipse开发安卓的小伙伴来说,Gradle文件是陌生的。 不同于Eclipse,而Android Studio 是采用Gradle来构建项目的。

先来介绍最外层目录下的build.gradle文件,代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

在repositories闭包中:

jcenter():它是一个代码托管仓库,很多的Android开源项目都会选择将代码托管到jcenter上,声明了这行配置后,我们就可以在项目中轻松使用任何的jcenter上的开源项目了

在repositories闭包中:

classpath 'com.android.tools.build:gradle:2.2.2'声明了一个Gradle插件。gradle:2.2.2为Gradle插件的版本号。

下面来介绍app目录下的build.gradle文件,代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apply plugin: 'com.android.application'

    android {
        compileSdkVersion 24
        buildToolsVersion "24.0.2"
        defaultConfig {
            applicationId "com.androidtest"
            minSdkVersion 15
            targetSdkVersion 24
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:23.4.0'
        testCompile 'junit:junit:4.12'
    }
介绍

第一行的apply plugin:代表着应用了一个插件。一般来说有两个值可选。

  1. com.android.application 表示这是一个应用程序模块。 都是module
  2. com.android.library 表示是一个库模块。

区别:

com.android.application是代表可以直接运行的,

com.android.library是只能作为代码依附在别的应用程序模块来运行。所以在引入一些

Model为自己的应用程序所用时,build.gradle文件的第一行就是apply plugin:com.android.library。

android闭包:

compileSdkVersion:用于指定项目的编译版本。这里24表示使用Android7.0系统的SDK进行编译。

buildToolsVersion:用于指定项目的构建工具的版本。

android闭包中有defaultConfig闭包:

applicationId:用于指定项目的包名,在创建项目的时候已经指定了包名,当要改变整个项目的包名时可以在这里改变。

minSdkVersion:项目最低的兼容版本。15表示兼容到API 15 既是android 4.0.

targetSdkVersion:表示你在该目标版本上已经做过了充分的测试,系统将为你的应用开启一些最新的功能和特性。假如targetSdkVersion 为23或者更高,那么在Android6.0中运行这个应用时会开启新的功能和特性;但是设置成了22的话,只能说明你的应用程序在Android5.1系统上做过了充分的测试,Android6.0的新功能就不会启用了。

注意 在以前eclipse中设置这些都是AndroidManifest.xml文件中设置的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

而在Android Studio中,即使在AndroidManifest.xml设置了,依然是不起作用的,运行时只承认build.gradle下的设置。

versionCode:项目的版本号

versionName:项目版本号的版本名。

这两个属性在生成安装文件时用到。

android闭包中有buildTypes闭包:

通常这个闭包中会有两个闭包,一个是debug,一个release。

debug闭包用于生成测试版安装文件的配置,release闭包用于生成正式版安装文件的配置。dubug闭包可以忽略不写。

release闭包中的具体内容:

minifyEnabled:用于是否对项目的代码进行混淆。true代表开启,false代表关闭。

proguardFiles:指定混淆时使用的文件。

proguard-android.txt:在Android SDK 目录下的,里面是所有项目通用的混淆规则。

proguard-rules.pro:是在当前项目根目录下的,里面编写当前项目特有的混淆规则。

dependencies闭包

在这个闭包下可以指定当前项目所有的依赖关系。通常Android Studio 项目中一共有三种依赖方式:本地依赖、库依赖和远程依赖。

本地依赖可以对本地的Jar包或目录添加依赖关系

库依赖可以对项目中的库模块添加依赖关系。

远程依赖则可以对jcenter库上的开源项目添加依赖关系。

在本项目中的第一行 compile fileTree(dir: 'libs', include: ['*.jar'])就是本地依赖声明,他把libs目录下的所以.Jar后缀文件全部添加带项目的构建路径中去。同时也可以只指定一个文件,例如:compile files('libs/picasso-2.4.0.jar')

在本项目中并没有使用到库依赖。库依赖的基本格式为 compile project后面加上依赖库的库名称,例如gallery为库名称,那么compile project(':gallery')就能添加这个库的依赖关系。

在本项目中的第二行 ** compile 'com.android.support:appcompat-v7:23.4.0'**这种声明是远程依赖声明。因为是用远程的库,所以Gradle在构建项目的时候会检查一下本地仓库是否已经缓存了,如果没有就自动联网下载,然后再添加到项目的构建路径中去。

远程依赖时每次都要检查是否有这个缓存,所以使编译变的很慢。可以设置成离线的Gradle模式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android studio中build.gradle文件简单介绍
Android每新建一个项目,都会有两个build.gradle文件,有一个在最外层目录下,有一个在app目录下,如果切换到 Android 模式下则全部在 Gradle Scripts下。下面先介绍看起来少的(最外层目录下的)。
计蒙不吃鱼
2025/06/10
890
Android studio中build.gradle文件简单介绍
从0系统学Android--1.3创建你的第一个 Android 项目
在 Android Studio 的欢迎页面点击 Start a new Android Studio project 就会自动为我们创建一个项目。(首次开启项目,可能构建时间很长,需要下载很多东西,和你的网速有关系)
开发者
2019/12/26
6380
Android 发布个人组件到JCenter
把BINTRAY_USERNAME 替换成你的bintary上组册的用户名 BINTRAY_KEY 替换成你的 Bintray的API Key 即可
码客说
2019/10/22
1K0
Android Gradle必备基础知识
随着Google对Eclipse的无情抛弃以及Studio的不断壮大,Android开发者逐渐拜倒在Studio的石榴裙下。 而作为Studio的默认编译方式,Gradle已逐渐普及。我最开始是被它的多渠道打包所吸引。
xiangzhihong
2021/07/21
9490
Could not get unknown property ‘versions‘ for object of type com.android.build.gradle.AppExtension
这个错误的原因就是build.gradle的配置都统一调用自定义的gradle文件
再见孙悟空_
2023/02/10
1.1K0
Could not get unknown property ‘versions‘ for object of type com.android.build.gradle.AppExtension
android Gradle的几个基本概念
什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
xiangzhihong
2018/02/02
6190
android Gradle的几个基本概念
Android Studio导入github项目详解
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/48789705
Hankkin
2018/09/06
7.1K0
Android Studio导入github项目详解
Android Gradle配置分析
Android 开发目前大家使用的IDE是Android Studio,所以和Gradle打交道就是必不可少的了。 大部分时间可能我们关注的都是业务代码的开发,然而了解gradle可以帮助我们更好的构建我们的项目
艳龙
2021/12/16
1K0
Android Gradle配置分析
Android Gradle系列-进阶篇
上篇文章我们已经将Gradle基础运用介绍了一遍,可以这么说,只要你一直看了我这个Gradle系列,那么你的Gradle也将过关了,应对正常的工作开发已经不成问题了。
Rouse
2019/07/17
1.6K0
Android Gradle系列-进阶篇
使用Gradle管理你的Android Studio工程
关于Android Gradle更多详细内容已经出书《Android Gradle权威指南》,大家可以购买,看更多没有介绍的知识点和内容,购买链接如下
飞雪无情
2018/08/28
1.1K0
关于Gradle配置的小结
使用 Android Studio 来开发 Android 工程的过程中,接触 Gradle 是不可避免的,比如配置签名、引入依赖等。那么 Gradle 到底是什么东西呢? Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化建构工具。它使用一种基于 Groovy 的特定领域语言 (DSL) 来声明项目设置,抛弃了基于 XML 的各种繁琐配置 (此定义来自于百度百科-_- !) 。啰里啰唆一堆,幸运的是,一般来说 Android 开发者只要会配置 Gradle 就可以了,并不需要深入了解。那么下面我们就来揭开 Gradle 的面纱吧。
俞其荣
2022/07/28
6480
关于Gradle配置的小结
Android Gradle 初识
最近在研究一些技术,需要一些Android相关的知识,但发现要想了解 Android,必须要了解 gradle。因为gradle是Android Studio指定的自动编译脚本,它有点像 Linux C开发中的 Makefile。下面我来看下 Android Studio 是如何使用 Gradle 的。
音视频_李超
2020/04/01
5500
Android  Gradle 初识
Android Gradle系列-入门篇
接下来的一段时间会对Android Gradle的相关知识进行梳理,所以借此整理成一个系列。如果你是刚入行的新秀,那么这个系列将会非常适合你,因为Android基本的配置都与Gradle有关。当然如果你已经入行,但对Gradle还是停留在表面的认知上,这个系列也会对你有所帮助。
Rouse
2019/07/17
8570
Android Gradle系列-入门篇
app目录下的build.gradle详解
最近把以前的gradle知识点整理下 // 表示这是一个Android程序模块,如果是作为库,就声明为Library'com.android.library' applyplugin:'com.android.application' android { compileSdkVersion 26// 编译版本,指用哪个版本的SDK进行编译 buildToolsVersion "26.0.1"//构建工具 //对项目的更多细节进行配置 defaultConfig {
Seachal
2021/01/25
6760
app目录下的build.gradle详解
Android入门教程AS重制-A005 AS项目结构解析
上一节课给大家介绍了如何使用AS进行开发我们的第一个Android应用程序——HelloWorld,本节课来给大家系统介绍一下在Android Studio中Android的项目结构是怎样的,每一个文件夹和文件具体含义是什么,在我们Android程序中有什么作用,大家不妨来看看接下来的内容。
巫山老妖
2018/07/23
4710
从HelloWorld开始了解Android
我相信任何学习编程的人,刚开始都会接触一个项目,那就是 HelloWorld 。一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。它还可以用来确定(测试)该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当,将输出字符串“Hello World”作为第一个示范程序,现在已经成为编程语言学习的传统,接下来让我们来创建第一个程序Hello World。
晨曦_LLW
2020/09/25
1.2K0
Android Studio的build.gradle文件使用(一)
Gradle 是一个非常先进强大的项目构建工具,它使用了一种基于 Groovy 领域的特定语言(DSL)来声明项目设置。
李小白是一只喵
2020/11/26
9160
Android Studio的build.gradle文件使用(一)
Gradle教程–基础篇
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
全栈程序员站长
2022/09/14
1.1K0
Gradle教程–基础篇
相关推荐
Android studio中build.gradle文件简单介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验