在 新建一个 android project 时,要求输入 minSdkVersion 这一项,一般我们是指定和我们使用的 SDK 版本相一致的 API Level. 然后,在androidManifest.xml 文件中会有一个对应的属性:android:minSdkVersion .那这个属性是否可以修改呢?我觉得是可以的,但不能随便修改。

“android:minSdkVersion” ,故名思义,就是最小的 SDK 版本,这个值是对应 Android 不同版本的 API Level , 如 Android 1.5 对应 3,Android 1.6 对应 4,Android 2.1 对应7,Android2.2对应8 ,Android 2.3.3 对应10,等等。当用户指定这个值后,Android 系统会用这个指定的值对应的 SDK 版本去编译你的应用程序。

那么,我们在 androidManifest.xml 中指定的话,必须是比我们新建时的 API Level 小或相等的值,这样 Android 系统在编译的时候,才会用对应的版本的 SDK 进行编译。假如修改后的 android:minSdkVersion 比我们 project 里的 SDK 版本对应的 API level 大,那么Android 系统在编译的时候,就会报错。

举例说明:

1. 我们新建一个 Android Project (HelloAndroid), 指定为 Android 2.2 版本,对应的 minSdkVersion 填8,finish;

2. 此时我们运行 HelloAndroid ,会运行一个 2.2 版本的模拟器。

3. 假若我们现在去 AndroidManifest.xml 文件 中修改 android:minSdkVersion=7,再次运行,那么会在我们已经打开的 2.2 模拟器上运行。因为 Android API 都是向后兼容的,所以系统在编译时,这个 Project 是利用 2.1 版本来编译的,但也可以在 2.2 模拟器上运行;若我们先把 2.2 模拟器关闭,再运行 HelloAndroid 这个Project 的话,那么会新建一个 API Level=7 的 模拟器来运行这个程序(也就是 2.1模拟器)。

4. 假若我们修改  android:minSdkVersion=10, 那么无论你是否打开了 2.2 版本的模拟器,都会报错:

ERROR: Application requires API version 10. Device API version is 8 (Android 2.2).
Launch canceled!

android-minSdkVersion 详解相关推荐

  1. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  2. Android菜单详解——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  3. Android LayoutInflater详解

    Android LayoutInflater详解 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类 似于findViewById().不同点是LayoutInflater是用来 ...

  4. android Fragments详解

    android Fragments详解一:概述 android Fragments详解二:创建Fragment 转载于:https://my.oschina.net/liangzhenghui/blo ...

  5. android WebView详解,常见漏洞详解和安全源码(下)

    上篇博客主要分析了 WebView 的详细使用,这篇来分析 WebView 的常见漏洞和使用的坑.  上篇:android WebView详解,常见漏洞详解和安全源码(上)  转载请注明出处:http ...

  6. android WebView详解,常见漏洞详解和安全源码(上)

    这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.  由于博客内容长度,这次将分为上下两篇,上篇详解 WebView ...

  7. android子视图无菜单,Android 菜单详解

    Android中菜单分为三种,选项菜单(OptionMenu),上下文菜单(ContextMenu),子菜单(SubMenu) 选项菜单 可以通过两种办法增加选项菜单,一是在menu.xml中添加,该 ...

  8. Android StateFlow详解

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/121913352 本文出自[赵彦军的博客] 文章目录 系列文章 一.冷流还是热流 S ...

  9. Android SharedFlow详解

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/121911675 本文出自[赵彦军的博客] 文章目录 系列文章 什么是SharedF ...

  10. Android菜单详解(三)——SubMenu和IconMenu

    我们在上一篇介绍了如何在Android中创建和响应选项菜单,今天我们将探索子菜单和图标菜单. 子菜单Sub Menu 子菜单提供了一种自然的组织菜单项的方式,它被大量地运用在windows和其他OS的 ...

最新文章

  1. 输入输出导入导出问题
  2. Redis 启动与授权
  3. -f shell 模糊匹配_linux模糊查找一个文件的方法
  4. java udp 同一个端口_java – 系统中的两个不同的UDP套接字可以绑定相同的端口吗?...
  5. linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
  6. 2019 CCPC-Wannafly Winter Camp Div2 Day1
  7. Arraylist添加5个学生对象,按成绩降序, 删除前三之后的学生
  8. Windows API 逐个逐个学MessageBox(5) 遍历驱动器并获取驱动器属性 GetLogicalDriveStrings、GetDriveTypeA...
  9. 百度面试题:malloc/free 与 new/delete 的区别
  10. Android RecyclerView实现长按弹出PopupMenu菜单
  11. ES6新语法之let关键字;有别于传统关键字var的使用
  12. c语言 gt 5u,毕业论文_基于51单片机的C语言程序设计实训100例5喜欢就下吧(全文完整版)...
  13. cause: Failtodecoderequestdueto: RpcInvocation
  14. c#与汇川机器人通讯_C#与西门子PLC通讯
  15. php跳转到qq界面,PHP实现QQ登录的开原理和实现过程
  16. 西雅图Oracle公寓租赁,在西雅图租房必须知道的那些事
  17. 清理Elasticsearch中过期的日志索引
  18. QT读写Sqlite数据库的三种方式
  19. 字符串匹配 - Overview
  20. 基于RC电路的DA14585测量NTC电阻阻值

热门文章

  1. 在win10上配置apache、php、mysql、phpmyadmin
  2. Garmin佳明推出Forerunner 158 GPS智能运动手表
  3. C/C++ 通过CRC32实现反破解
  4. 裸奔系列之博科SAN交换机(1)---SAN交换机产品介绍
  5. 改变未来IT业发展的趋势
  6. c语言错误1004,excel宏运行时提示错误1004的三种解决方法
  7. 计算机图形学----SDF介绍
  8. encoder-decoder模型学习
  9. ME863手机(android)下安装backtrack 5
  10. 第7期:内卷和躺平,你怎么选