• Android开发之Gradle文件


    • Gradle是什么,有什么用
      编译、打包Android工程的一个构件工具
    • Project与Module的关系
      一个Project里面可以有多个Module
      Module可以是app类型的,也可以是library类型的
      在这里插入图片描述
      在这里插入图片描述

    Project中的 build.gradle

    gradle 插件的使用版本
    在这里插入图片描述
    gradle版本
    在这里插入图片描述
    grade版本需要与gradle 插件版本匹配,不然很容易在这里出错
    在这里可以查看两者的版本匹配关系
    https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-gradle

    APP中的gradle

    android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    
    defaultConfig {
    	application "com.example.myapplication"
    	minSdkVersion 19
    	targetSdkVersion 30
    	versionCode 1
    	versionName "1.0"
    
    	testInstrumentationRunner "androidx.test.runner.AndroidJunitRunner"
    }
    
    buildTypes {
    	release {
    		minifyEnabled false
    		proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
    	}
    }
    
    compileOptions {
    	//java的SDK的版本
    	sourceCompatibility JavaVersion.Version_1_8
    	targetCompatibility JavaVersion.VERSION_1_8
    }
    
    dependencies {
    	//编译依赖库
    }
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    compileSdkVersion、minSdkVersion、targetSdkVersion、buildToolsVersion之间的区别

    • compilesSdkVersion是编译代码所使用的sdk版本,并且与sdk manager里面下载的那些sdk platforms是对应的,也就是说, compilesSdkVersion使用的版本,在sdk manager里面必须是已经下载了才能用,最新的as做了优化,及时你没有下载,当写上某个版本后,as会自动帮你下载
    • minSdkVersion是对app可运行的手机设备的最小版本限制,与sdk manager里面下载的东西无关,只是一个标识而已
    • targetSdkVersion 是对app要运行的手机设备的目标版本的标识,也与sdk manager 里面下载的东西无关,表示了该app是为某个版本的手机设备而设计的,在这个目标版本的手机上做了充分的测试-----当你的手机版本大于这个目标版本时,该app也能运行,因为高版本的手机是可以运行低版本软件的
    • 这也符合常理,越先进的手机功能应该越强大,不仅能运行新东西,也能兼容老东西
    • 因此, minSdkVersion和tarSdkVersion是对我们开发的app所能运行设备的系统版本的范围约束,最低不能小于MinSdkVersion,但没有最高限制

    minSdkVersion <= targetSdkVersion <= compilesSdkVersion

    • 如果使用了support library, support library的版本要和compileSdkVersion一致
      因为support library也是用来编译的,只不过是一种"支持库"
      比如使用23.1.1的support Library,那么 compileSdkVersion需要23
  • 相关阅读:
    【面试系列】Java面试知识篇(三)
    ES7 集群模式新增账号密码认证
    lv6 嵌入式开发-Flappy bird项目
    02_Alibaba微服务组件Nacos注册中心
    图像数据通道格式:NCHW和NHWC的区别
    在Mac m1运行ChatGLM3-6B cpu版本1-3秒出结果,速度明显超过T4 GPU,接近V100。
    GeoServer地图服务器权限控制
    grafana v10.1版本设置告警
    Bootstrap5 表格
    手撕双链表
  • 原文地址:https://blog.csdn.net/zzsxyl/article/details/126174378