在 新建一个 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. 在测试环境模拟电话的进入和短信的进入
  2. Android(安卓)Gradle
  3. ADB命令大全
  4. Android(安卓)IO
  5. android 游戏导引(1. 建立 OpenGL 项目)
  6. Android创建SDCard镜像
  7. [Android]调试webview
  8. Android百度地图——定位SDK(版本v3.1)(一)
  9. 由Android4.4收起写sdcard文件权限想到的.

随机推荐

  1. Android 混合了 JSON 的 Android 应用程
  2. Android简单调用相机Camera功能,实现打开
  3. Android 源代码编后的目录分析
  4. 被裁员!大龄Android程序员面试惨败辛酸史,
  5. Android 动画详解
  6. Android之TextUtils类介绍
  7. 学习android
  8. 【Android】从无到有:手把手一步步教你使
  9. Android(安卓)使用Messenger实现跨app通
  10. Android Studio NDK及so文件开发 以及常