Unity接入安卓SDK(3)厘清Gradle的版本

avatar
avatar
kktoo
45
文章
12
评论
2020年11月26日20:07:00 评论 3,667 1810字阅读6分2秒

接入过程中,很多人遇到gradle的各种错误,由于对各种gradle版本的概念不甚了了,模模糊糊一顿操作猛如虎,糊弄的能编译通过就万事大吉,下次再遇到又是一脸懵逼。所以我们还是一起先厘清gradle的版本概念。

1 明晰概念

1.1 Gradle是什么

Gradle是一个开源的项目自动化构建工具。它基于特定的语言来声明项目设置,抛弃了基于XML的各种繁琐配置。

1.2 Gradle Plugin(Gradle插件)

全称应该叫Android Plugin for Gradle。其实就是为了使用Gradle构建Android应用,所封装的一个工具。是针对Gradle发行版和Android SDK Build Tools封装的一个工具。 主要有两大功能:

  1. 调用Gradle本身的代码和批处理工具来构建项目

  2. 调用Android SDK的编译、打包功能

1.3 Android SDK Build Tools(Android SDK 构建工具)

是构建Android 应用所需 Android SDK 的一个编译工具组件,安装在 <sdk>/build-tools/ 目录中。

2 查看版本的方法

2.1 Gradle发行版本

常见的如:gradle-5.6.4-all.zip

在Android Studio项目中,查看文件gradle-wrapper.properties

文件路径:project的gradle 文件夹->wrapper->gradle-wrapper.properties

#Sat Oct 10 16:41:39 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

如上所示,项目所使用的Gradle的发行版本就是6.1.1

2.2 Gradle Plugin

方法1:在Android Studio中查看Project Structure属性面板,第一行是Gradle Plugin的版本,第二行是Gradle发行版本。

Unity接入安卓SDK(3)厘清Gradle的版本

方法2:在在Android Studio项目中的 build.gradle 中,也可以看到对Gradle Plugin的版本依赖:

buildscript {
    
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.2'
    }
}

2.3 Android SDK Build Tools

在在Android Studio项目中,主Module的build.gradle文件中检索buildToolsVersion进行查看:

android {
    buildToolsVersion "29.0.3"
    ...
}

3 gradle plugin、gradle plugin 和buildTools之间的关系

3.1 一句话概括

Gradle Plugin对Gradle发行版进行了封装,BuildTools使用Gradle Plugin辅助进行构建Android应用的工作。

3.2 三者的匹配关系

  1. Gradle Plugin的每个版本号匹配一个或多个 Gradle发行版本号(一般是限定一个最低版本号)。如果这两个版本号匹配不正确,那么构建项目的时候就会报错。

    如下表列出了各Android Gradle插件版本所需的Gradle版本。

Unity接入安卓SDK(3)厘清Gradle的版本

最新的对应的关系请查看官网链接:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin

    1. Gradle Plugin 还和 Android SDK BuildTools 有依赖,一般来说安装较新版本的SDK BuildTools即可。 可以使用 Android SDK 管理器下载该组件的最新版本。 如果不想使用默认版本,可在Module的build.gradle文件中使用buildToolsVersion进行指定 。

          android {
              buildToolsVersion "29.0.2"
              ...
          }
继续阅读
avatar
  • 文本由 发表于 2020年11月26日20:07:00
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Android实现定位的解决方案 Android

Android实现定位的解决方案

1 前言 相当数量的app应用和游戏,都需要用到定位功能。主要有两类实现思路:一是使用Android自带的位置服务;二是接入第三方SDK,常见的有百度地图,高德地图,腾讯地图等等; 开门见山,先说结论...
华为渠道接入的小细节 Android

华为渠道接入的小细节

一、集成HMS SDK 3.0报错AGConnectInitializeProvider 现象: 华为渠道接入使用的maven仓,兴冲冲配置完毕之后,一运行就crash了,真扫兴,查看logcat: ...
windows下配置Ninja Android

windows下配置Ninja

描述: mac上的android工程,改为在windows下继续开发。报错: CMake Error: CMake was unable to find a build program corresp...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: