android:minSdkVersion

在 新建一個 android project 時,要求輸入 minSdkVersion 這一項,通常咱們是指定和咱們使用的 SDK 版本相一致的 API Level. 而後,在androidManifest.xml 文件中會有一個對應的屬性:android:minSdkVersion .那這個屬性是否能夠修改呢?我以爲是能夠的,但不能隨便修改。android

    "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 版本去編譯你的應用程序。ui

    那麼,咱們在 androidManifest.xml 中指定的話,必須是比咱們新建時的 API Level 小或相等的值,這樣 Android 系統在編譯的時候,纔會用對應的版本的 SDK 進行編譯。假如修改後的 android:minSdkVersion 比咱們 project 裏的 SDK 版本對應的 API level 大,那麼Android 系統在編譯的時候,就會報錯。xml

 

 

舉例說明:io

    1. 咱們新建一個 Android Project (HelloAndroid), 指定爲 Android 2.2 版本,對應的 minSdkVersion 填8,finish;編譯

    2. 此時咱們運行 HelloAndroid ,會運行一個 2.2 版本的模擬器。require

    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!文件

相關文章
相關標籤/搜索