Android Studio - Android Studio 查看项目的 Android SDK 版本(4 种方式)

一、通过项目级 build.gradle 文件

1、基本介绍
  1. 在项目级 build.gradle 文件中,查看 compileSdk、minSdk、targetSdk 字段

  2. 或者是 compileSdkVersion、minSdkVersion、targetSdkVersion 字段

// 看到的可能是android {compileSdk 32defaultConfig {minSdk 21targetSdk 32...}...
}
// 看到的也可能是android {compileSdkVersion 28defaultConfig {minSdkVersion 18targetSdkVersion 28...}...
}
2、字段详解
  • 在 Android 项目中,compileSdk、minSdk、targetSdk 与 compileSdkVersion、minSdkVersion、targetSdkVersion 本质上是相同的概念
  1. compileSdk 或 compileSdkVersion:指定项目编译时使用的 Android SDK 版本,不同的 Android SDK 版本决定了可以使用哪些 API 和特性
例如,compileSdkVersion 33 表示使用 Android 13(API 级别 33)的 SDK 进行编译
  1. minSdk 或 minSdkVersion:指定应用支持的最低 Android 版本,低于此版本的设备无法安装或运行该应用
例如,minSdkVersion 21 表示应用支持 Android 5.0(API 级别 21)及以上的设备
  1. targetSdk 或 targetSdkVersion:指定应用的目标 Android 版本,它决定应用在运行时如何与系统交互、系统如何应用兼容性行为
例如,targetSdkVersion 33 表示应用针对 Android 13(API 级别 33)进行优化
  • compileSdk、minSdk、targetSdk 与 compileSdkVersion、minSdkVersion、targetSdkVersion 只是它们的命名方式有所不同
  1. compileSdkVersion、minSdkVersion、targetSdkVersion:这是传统的命名方式,在早期的 Android Gradle 插件版本中广泛使用

  2. compileSdk、minSdk、targetSdk:这是较新的命名方式,从 Android Gradle 插件 4.1.0 开始引入,目的是简化命名并与其他 Gradle 配置保持一致

  • 如果使用的是较新的 Android Studio 与 Gradle 插件,建议使用简化的命名方式(compileSdk、minSdk、targetSdk)

二、通过 Project Structure

  1. 点击顶部菜单栏的 【File】 -> 点击 【Project Structure】
  1. 在左侧选择 【Modules】 -> 选择应用模块(通常是 app)

  2. 在右侧的 Properties 标签页中,查看 Compile Sdk Version

  1. 在右侧的 Default Config 标签页中,查看 Target SDK Version 与 Min SDK Version

三、通过 local.properties 文件

  1. 在项目根目录下,local.properties 文件中,查找 sdk.dir 属性,它指向 Android SDK 的安装路径
sdk.dir=D\:\\environment\\SDK
  1. 这里不直接显示 SDK 版本,可以通过 SDK 安装路径查看已安装的 SDK 版本
  1. 进入SDK 安装路径下的 platforms 目录,这里有以 android-【版本号】 命名的目录,这就对应已安装的 Android SDK 版本

四、通过 SDK Manager

  1. 点击顶部菜单栏的 【Tools】 -> 点击 【SDK Manager】
  1. 在 SDK Platforms 标签页中,查看已安装的 Android SDK 版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20404.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux云服务器部署deepseek,并通过网页访问

参考视频:https://www.douyin.com/root/search/linux%E5%AE%89%E8%A3%85%20deepseek?aid3aa2527c-e4f2-4059-b724-ab81a140fa8b&modal_id7468518885570940214&typegeneral 修改ollama配置文件 vim /etc/systemd/system/ollama.service 我的电脑硬盘只有4…

【AI】mac 本地部署 Dify 实现智能体

下载 Ollama 访问 Ollama 下载页,下载对应系统 Ollama 客户端。或者参考文章【实战AI】macbook M1 本地ollama运行deepseek_m1 max可以跑deepseek吗-CSDN博客 dify 开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&am…

Jenkins介绍

什么是Jenkins Jenkins 是一个开源的自动化服务器,主要用于持续集成和持续交付(CI/CD)。它帮助开发团队自动化构建、测试和部署软件,从而提高开发效率和软件质量。 如果一个系统是前后端分离的开发模式,在集成阶段会需…

如何使用 vxe-table grid 全配置式给单元格字段格式化内容,格式化下拉选项内容

如何使用 vxe-table grid 全配置式给单元格字段格式化内容,格式化下拉选项内容 公司的业务需求是自定义配置好的数据源,通过在列中配置好数据,全 json 方式直接返回给前端渲染,不需要写任何格式化方法。 官网:https:/…

【弹性计算】IaaS 和 PaaS 类计算产品

《弹性计算产品》系列,共包含以下文章: 云服务器:实例、存储、网络、镜像、快照容器、裸金属云上运维IaaS 和 PaaS 类计算产品 😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀&#x1f680…

【Spring详解二】容器的基本实现

二、容器的基本实现 2.1 容器的基本用法 package com.xxx; public class Hello {public void sayHello() {System.out.println("Hello, spring");} } public static void main(String[] args) {//XmlBeanFactory 在 Spring3.1 以后废弃BeanFactory beanFactory ne…

计算机毕业设计Python考研院校推荐系统 考研分数线预测 考研推荐系统 考研可视化(代码+LW文档+PPT+讲解视频)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Ubuntu 系统 LVM 逻辑卷扩容教程

Ubuntu 系统 LVM 逻辑卷扩容教程 前言 在 Linux 系统中,LVM(Logical Volume Manager)是一种逻辑卷管理工具,允许管理员动态调整磁盘空间,而无需重启系统。 本文将详细介绍如何使用 LVM 扩容逻辑卷,以实现…

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1)

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) Apache Paimon 是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。 读/写:Paimon 支持多种读/写数据和执行 OLAP 查询的方式。 对于读取&#x…

3分钟了解内外网文件传输:常见方法、注意事项有哪些?

内外网文件传输不仅是企业日常运营的基础设施,更是支持业务增长、创新和合规的关键工具。通过高效、安全的文件传输,企业能够更好地应对全球化协作、远程办公和数据安全等挑战,从而在竞争激烈的市场中保持领先地位。 一、内外网文件传输的常…

洛谷P11042 [蓝桥杯 2024 省 Java B] 类斐波那契循环数

像是这种填空题的话&#xff0c;就直接暴力还更加省时间&#xff0c;在本地算完后直接提交答案即可 #include<bits/stdc.h> using namespace std;const int N 10000000;bool isnumber(int n) {vector<int> a;int m n;while (n > 0) {a.push_back(n % 10);n / …

3月营销日历:开启春日盛宴,绽放生活魅力

关键营销节点∶惊蛰、女生节、妇女节、 植树节、315消费者权益日、春分 营销关键词 养生、女生魅力、感恩女性、环保、品质 01.重点关注品类 春季服饰&#xff1a;如轻薄外套、春装等&#xff0c;适合惊蛰后的市场需求&#xff1b; 美妆护肤&#xff1a;妇女节期间&#xf…

未来游戏:当人工智能重构虚拟世界的底层逻辑

未来游戏&#xff1a;当人工智能重构虚拟世界的底层逻辑 在《赛博朋克2077》夜之城的霓虹灯下&#xff0c;玩家或许已经注意到酒吧里NPC开始出现微表情变化&#xff1b;在《艾尔登法环》的开放世界中&#xff0c;敌人的战术包抄逐渐显露出类人智慧。这些细节预示着游戏产业正站…

知识拓展:设计模式之装饰器模式

装饰器模式拓展 1. 什么是装饰器模式&#xff1f; 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。装饰器模式通过创建一个装饰类来包装原始类&#xff0c;从而在不修…

利用 OpenCV 进行棋盘检测与透视变换

利用 OpenCV 进行棋盘检测与透视变换 1. 引言 在计算机视觉领域&#xff0c;棋盘检测与透视变换是一个常见的任务&#xff0c;广泛应用于 摄像机标定、文档扫描、增强现实&#xff08;AR&#xff09; 等场景。本篇文章将详细介绍如何使用 OpenCV 进行 棋盘检测&#xff0c;并…

MySQL智障离谱问题,删了库确还存在、也不能再创建同名库

1、问题 今天跟后端朋友接毕设单子的时候&#xff0c;后端穿过来的【weather.sql】这个文件没弄好&#xff0c;导致这个【weather】数据库的数据是错的&#xff0c;因此我用datagrip的GUI界面直接右键删除&#xff0c;结果就是tmd删不掉&#xff0c;ok&#xff0c;我只能在那新…

高子昂医编---23岁,医疗编上岸,正式开启养老生活

作为一个只想毕业后就找个稳定工作躺平一生的普通人&#xff0c;直接放弃加入考研考公大军&#xff0c;加入了竞争稍微小一点的考编大军&#xff01;毕业那年在学校辛苦奋斗四个多月&#xff0c;直接一战上岸&#xff01;成为了一名有编制的医务工作者&#xff01;现在在我们家…

【Linux系统】—— 调试器 gdb/cgdb的使用

【Linux系统】—— 调试器 gdb/cgdb的使用 1 前置准备2 快速认识 gdb3 cgdb/gdb 的使用3.1 简单认识 cgdb3.2 打断点 / 删断点3.3 逐过程 / 逐语句3.4 查看变量3.5 快速跳转 4 cgdb/gdb 调试技巧4.1 watch4.2 「set var」确定问题原因4.3 条件断点 5 概念理解6 gdb/cgdb 指令一…

llama.cpp部署 DeepSeek-R1 模型

一、llama.cpp 介绍 使用纯 C/C推理 Meta 的LLaMA模型&#xff08;及其他模型&#xff09;。主要目标llama.cpp是在各种硬件&#xff08;本地和云端&#xff09;上以最少的设置和最先进的性能实现 LLM 推理。纯 C/C 实现&#xff0c;无任何依赖项Apple 芯片是一流的——通过 A…

【Vue3】Vue 3 中列表排序的优化技巧

本文将深入探讨 Vue 3 中列表排序的优化技巧&#xff0c;帮助提升应用的性能和响应速度。 1. 避免不必要的排序 按需排序 在实际应用中&#xff0c;并非每次数据更新都需要进行排序。例如&#xff0c;当列表数据仅在特定条件下需要排序时&#xff0c;可通过条件判断来避免不…