1. 程式人生 > >AndroidManifest.xml檔案詳解(uses-sdk)(轉載)

AndroidManifest.xml檔案詳解(uses-sdk)(轉載)

語法(SYNTAX):

<uses-sdkandroid:minSdkVersion="integer"android:targetSdkVersion="integer"android:maxSdkVersion="integer"/>

被包含於(CONTAINED IN):

<manifest>

說明(DESCRIPTION):

這個元素用API 的級別(一個整數)來說明應用程式會跟哪些Android平臺版本相容。由應用程式給出的API級別會跟給定不同的裝置中的Android系統的API級別比較。

儘管這個元素被用於指定API的級別,但它並不是SDK(軟體開發工具包)或Android平臺的版本號。API級別始終是用一個整數表示。不能夠從根API級別關聯的Android版本號中獲取API級別資訊(例如,它不是主版本號,也不是主版本號和次版本號的和)。

屬性(ATTRIBUTES):

android:minSdkVersion

一個整數,它指定了應用程式執行所需要的最小的API級別。如果Android系統的API級別被該應用程式清單中的這個屬性值小,那麼系統就阻止安裝該應用程式,應該始終宣告這個屬性。

警告:如果沒有宣告這個屬性,Android系統就會假設一個預設值1,它表明該應用程式會跟所有的Android版本相容。如果應用不是跟所有的Android版本相容(例如,應用要使用在API Level 3中引入的API),並且也沒有宣告正確的minSdkVersion屬性,那麼當應用安裝到API Level 3小的系統上時,應用程式會在檢視訪問無效的API時崩潰。由於這個原因,必須要在minSdkVersion屬性中宣告適當的API Level。

android:targetSdkVersiion

一個整數,它指定了應用程式要執行的目標的API級別。如果沒有設定,它的預設值等於給定的minSdkVersion屬性值。

這個屬性用於通知系統,應用測試時所針對的目標平臺版本,並且系統不應該啟用任何相容行為來維護應用程式跟目標平臺版本的向前相容性。應用程式依然能夠執行在較低版本的平臺上(一直到minSdkVersion屬性值所指定的版本)。

在Android演進的每個新版本中,都會有一些行為甚至外觀的改變。但是,如果平臺的API級別比應用程式宣告的targetSdkVersion的值大,那麼系統就可以啟用相容行為,以便確保應用程式能夠繼續執行期望的工作。因此,可以通過指定應用程式所執行的目標SDK版本(targetSdkVersion)來禁止啟用這種相容行為,例如,把這個屬性值設定為11或更大,就會允許系統把新的預設主題應用給在Android3.0或更高版本平臺之上的應用程式,並且在執行在較大螢幕的裝置上時,也禁止使用螢幕相容模式(因為針對API Level 11的支援,暗示著對較大螢幕的支援)。

應用程式為了跟隨每個Android的釋出版本,應該增長這個屬性值,讓它跟最新的API級別相匹配,然後再對應的平臺版本上進行完整的測試。

這個屬性在API Leve 4中被引入。

android:maxSdkVersion

一個整數,表明該應用要執行的最大的API Level。

在Android1.5、1.6、2.0和2.0.1中,在安裝應用程式時,系統會檢查這個值,並且在系統升級後也會重新驗證該應用程式的這個值。另外,如果應用程式的maxSdkVersion屬性值比系統自身所使用的API Level低,那麼系統就不會允許應用程式被安裝,在因系統升級而重新驗證的情況中,這種情況所帶來的影響是把該應用程式從裝置上刪除。

以下是系統升級更新後,這個屬性是如何影響應用程式的例子:

一個釋出到Google Play上的應用程式,在它的清單中聲明瞭maxSdkVersion=”5”。一個執行Android1.6(API Level 4)的使用者裝置下載並安裝了該應用程式。幾周之後,使用者把系統升級到Android2.0(API Level 5),升級後,系統會檢查應用程式的maxSdkVersion屬性,併成功的重新的驗證了它。該應用程式能夠正常執行。但是,不久之後,該裝置的系統又升級到Android2.0.1(API Level 6),升級之後的系統,不能在重新驗證該應用程式了,因為系統自己的API Level(6)比該應用程式所支援的最大API Level還有大,因此係統會阻止把該應用程式顯示給使用者,就像把該應用程式從裝置刪除的效果一樣。

警告:不推薦宣告這個屬性,首先,沒有必要設定這個屬性是因為,這樣會阻止該應用程式在新發布的Android平臺版本上執行。通過設計,新的平臺版本時完全向後相容的。該應用程式應該在升級後的平臺上能夠正常執行。其二,要注意的是,在某些情況中,宣告這個屬性在使用者裝置的系統升級較高的API Level之後,能夠導致該應用程式被刪除。大多數應用所在的裝置都會定期的接到線上升級的請求,因此在設定這個屬性之前,要仔細考慮該屬性給應用程式所帶來的影響。

在Android的未來版本中(Android2.0.1除外),在安裝或重驗證期間,將不再檢查或強制要求maxSdkVersion屬性。但Google Play在把應用程式展示給使用者下載的時候,會繼續使用這個屬性作為過濾條件。

這個屬性在API Level 4中被引入。

引入版本(INTRODUCED IN):

API Level 1

相關推薦

AndroidManifest.xml檔案uses-sdk轉載

語法(SYNTAX): <uses-sdkandroid:minSdkVersion="integer"android:targetSdkVersion="integer"android:maxSdkVersion="integer"/> 被包含於(C

AndroidManifest.xml檔案

檔案約定 某些約定和規則普遍適用於清單中的所有元素和屬性: 元素 只用<manifest>和<application>元素時必須的,而且這兩個元素在檔案中只能出現一次。其他元素則可以多次出現在清單中,或者根本就不出現---但是為了構建一個有意義的清單

AndroidManifest清單檔案Service

語法(SYNTAX): <serviceandroid:enabled=["true" | "false"]          android:exported=["true" | "false"]          android:icon="drawab

Java自動化測試框架-12 - TestNG之xml檔案詳細教程

1.簡介 現在這篇,我們來學習TestNG.xml檔案,前面我們已經知道,TestNG就是執行這個檔案來執行測試用例的。通過本篇,你可以進一步瞭解到:這個檔案是配置測試用例,測試套件。簡單來說,利用這個檔案,我們可以跑同一個類或者多個不同類裡面的測試用例。 TestNG通過設定testng.xml檔案能做以下

Maven快速入門Maven中的pom.xml檔案

上一章,我們講了Maven的座標和倉庫的概念,介紹了Maven是怎麼通過座標找到依賴的jar包的。同時也介紹了Maven的中央倉庫、本地倉庫、私服等概念及其作用。這些東西都是Maven最基本、最核心的概念,大家一定要搞明白。所謂工欲善其事必先利其器,這些基礎的東西一定要掌握。其實,Maven專案中還有一個最核

Spring MVC 配置檔案dispatcher-servlet.xml 檔案

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframew

maven核心:pom.xml檔案

什麼是pom?     pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。 快

Spring Boot配置檔案-ConfigurationProperties和Value優缺點-好文

文章轉自 http://www.cnblogs.com/itdragon/p/8686554.html Spring Boot提供了兩種常用的配置檔案,分別是properties檔案和yml檔案。他們的作用都是修改Spring Boot自動配置的預設值。相對於properties檔案而言,yml檔

3.pom.xml檔案(慕課網)

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

Tomcat:server.xml檔案

一、server.xml檔案介紹 1.server.xml作用     Server.xml配置檔案用於對整個容器進行相關的配置。 2.server.xml檔案的配置元素列表     <Server>:是整個配置檔案的根元素。表示整個Catalina容器。   

Maven pom.xml檔案

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.a

史上最全的maven的pom.xml檔案

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

axis2系列之services.xml檔案

   原文連結(http://beyond-gzz.blog.163.com/blog/static/744735620119935948592/ )在Axis1中部署服務時,我們使用service.wsdd檔案來配置服務。在Axis2中,不再使用service.wsdd

SqlMapConfig.xml檔案

SqlMapConfig.xml 是 mybatis 的全域性配置檔案,配置內容如下: properties(屬性) settings(全域性配置引數) typeAliases(類型別名) typeHandlers(型別處理器) objectFactory(物件工廠) plugins(外掛) e

安卓開發——AndroidManifest.xml配置

AndroidManifest.xml配置檔案稱為清單檔案,對於Android應用開發來說是非常重要的基礎知識,在學習中總結該配置檔案中重點的用法,以便日後查閱。下面是一個標準的AndroidManifest.xml檔案樣例。 xml version="1.0" encod

Maven的pom.xml檔案

快速預覽 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

MyBatis Mapper XML檔案

MyBatis 的真正強大在於它的對映語句,也是它的魔力所在。由於它的異常強大,對映器的 XML 檔案就顯得相對簡單。如果拿它跟具有相同功能的 JDBC 程式碼進行對比,你會立即發現省掉了將近 95% 的程式碼。MyBatis 就是針對 SQL 構建的,並且比普通的方法做

最全的maven的pom.xml檔案

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

Spring MVC 配置檔案 web.xml檔案

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http

javaweb web.xml檔案

<!-- 基本配置 --> <servlet> <servlet-name>snoop</servlet-name> <servlet-class>SnoopServlet</servlet-class> </ser