在 新建一个 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!

更多相关文章

  1. 3.6.3新版本AndroidStudio报Could not resolve all artifacts fo
  2. 第15章 Android启动过程 [Android应用开发与系统改造实战]
  3. 帮同事找到了一个问题的解决办法:在android 3.0版本以上的系统 we
  4. 2015Android设备、系统、分辨率最新统计数据
  5. Android的参数大致分成两块:系统服务参数和平台系统信息。
  6. Android各个版本的名称和更新
  7. Android简单登录系统

随机推荐

  1. Android与Unity交互研究
  2. Android系统启动流程
  3. Android(安卓)Developer和Google Group可
  4. Android跨进程通信IPC之1——Linux基础
  5. Android(安卓)spinner 样式及其使用详解
  6. Android跨进程通信IPC之11——AIDL
  7. Android锁屏的问题
  8. 编译 Linux 3.5 内核烧写 Android(安卓)4
  9. Android主题设置为@android:style/Theme.
  10. TextView跑马灯效果