android:minSdkVersion 之我見

來源:互聯網
上載者:User

    在 建立一個 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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.