Android-Collection icon indicating copy to clipboard operation
Android-Collection copied to clipboard

Android Support包

Open jp1017 opened this issue 9 years ago • 0 comments

Google 官方提供 Android Support Library package 来保证高版本 SDK 的向下兼容。通过使用 Support 包,可以让拥有最新 SDK 特性的应用运行在相应 API (比如 v7 就是 API Level 7 即 Android 2.1) 及更高版本的设备之上。

命名

比如gradle 脚本引用 v7 包:

    compile 'com.android.support:appcompat-v7:23.4.0'

分三个部分:groupId:artifactId:version:

  • groupId在Maven库中作为区别一类lib库的唯一标识,往往以包名来命名;
  • artifactId是在一个包中的不同lib库的命名,比如support-v4、appcompat-v7等。这个命名规则后面的vX代表最小支持的API等级。v7代表最小支持Android API 7或更高;
  • version代表改lib库的版本。

v4 Support Library

此包用在 API lever 4 (即 Android 1.6) 及更高版本之上。它包含了较多的内容,使用广泛,例如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabStrip,Loader,FileProvider 等。

v7 Support Libraries

此包是针对 API level 7 (即Android 2.1) 及以上版本而设计的,但是 v7 是要依赖 v4 这个包的,v7 支持了 Action Bar 以及一些 Theme 的兼容。

Note: v7 appcompat library v7 appcompat library 是包含在 v7 Support Libraries里面的一个包,正是此包增加了Action Bar 用户界面的设计模式,并加入了对material design 的支持,是我们使用最多的一个兼容包。

v13 Support Library

此包是针对 API level 13 (即Android 3.2) 及更高版本设计的,一般我们都不常用,平板开发中能用到,这里就不介绍了。

v17 Preference Support Library for TV

此包主要是为了TV设备而设计。 常见问题分析:

No resource found that matches the given name '@style/Theme.AppCompat.Light'

这种问题一般就是兼容包没处理好导致,那么导入v7库就好了,或者把 AndroidManifest.xml 文件里面,minSdkVersion 改成 14,甚至修改主题为 @style/Theme.Light,哈哈,推荐第一种哦,导入 v7 包。

jp1017 avatar Mar 19 '16 10:03 jp1017