[英]Android support libraries, compile SDK version and minimum SDK version
關於支持庫的使用,我有一些一般性問題,但是我找不到很好的資源來回答。
內容:
我正在使用的應用程序的最低SDK目標設置為9。我正在使用通過gradle導入的支持庫v4和v7
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'
我還聲明了要編譯的sdk版本以及使用的最低SDK版本
minSdkVersion 9
compileSdkVersion 22
現在,它將編譯並構建一個無錯誤的apk。 但是,當我將compileSDKVersion
更改為19時,會出現很多錯誤,例如
錯誤:(2)檢索項目的父項時出錯:未找到與給定名稱'android:TextAppearance.Material.Inverse'相匹配的資源。
告訴我,我正在使用的SDK不包含兼容性庫使用的某些資源,我應該改用以前的兼容性庫。
問題:
我可以同時使用v4和v7編譯的最低SDK版本是什么(或者v4和v7都支持的最低SDK版本是什么)? 有沒有辦法查看Android支持存儲庫中的所有可用版本?
將最低SDK版本設置為9並將compileSDKVersion設置為22並使用支持庫目標API 22提供的元素是否有風險? 我的意思是:由於缺少類/資源,我可能會獲得運行時異常嗎?
有沒有一種方法可以配置Gradle以顯示某些潛在的不兼容性? 我知道有時使用高於最低API的API中存在的方法時會出現編譯錯誤。 但這是否也可以推廣到xml(例如主題或資源)?
我知道當(支持)庫引用已編譯的SDK中不存在的資源時出現編譯錯誤。 有沒有辦法為最小的SDK也獲得類似的警告/錯誤?
抱歉,如果問題太含糊,請告訴我是否需要一定的精度! 如果您知道有趣的資源可能會回答一部分問題,請不要在此處分享;)
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
這是因為支持庫v22需要API 22。
您無法使用API 19進行編譯。
我可以同時使用v4和v7編譯的最低SDK版本是什么(或者v4和v7都支持的最低SDK版本是什么)
通常minSdk是庫的名稱。 v4是api4,appcompat是api7。
有沒有辦法查看Android支持存儲庫中的所有可用版本?
例如,您可以在打開aar文件的文件夾androidsdk\\extras\\android\\m2repository\\com\\android\\support
檢查它。
將最低SDK版本設置為9並將compileSDKVersion設置為22並使用支持庫目標API 22提供的元素是否有風險? 我的意思是:由於缺少類/資源,我可能會獲得運行時異常嗎?
如果您使用的是支持庫v22,則為否。
我知道當(支持)庫引用已編譯的SDK中不存在的資源時出現編譯錯誤。 有沒有辦法為最小的SDK也獲得類似的警告/錯誤?
不,根據我的經驗。
有一條一般規則。
庫主版本號是最小編譯sdk版本。
它的意思是:
support libraries v21.x.x -> requires API 21
support libraries v22.x.x -> requires API 22
support libraries v23.x.x -> requires API 23
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.