google官方提供了 Support Library package 系列的包來保證高版本sdk開發(fā)的向下兼容性。
注意:gradle引用appcompat-v7包的時候就不需要引用v4了,因為v7里默認包含了v4包;
v4庫被設(shè)計在Android 2.3 (API level 9)及其以上系統(tǒng)中使用。 Support Library的第1版(2011年3月發(fā)布)就只包含v4庫,當時v4庫只是一個庫,支持Android 1.6 (API level 4)及其以上版本,這也是v4名字的由來。隨著系統(tǒng)的迭代現(xiàn)在Android 1.6設(shè)備已經(jīng)很少了,官方在Support Library的第24.2.0版本(2016年8月發(fā)布)的時候移除了對Android 2.2 (API level 8)及其以下版本的支持,但是名字依然是v4。v4悠久的歷史長期的發(fā)展造就了它較大的體積。也是在24.2.0這個版本Goggle將原來的單個v4庫拆分成了5個子庫,我們在使用的時候可以直接依賴某個子庫,從而減少依賴包的大小。
compile ‘com.android.support:appcompat-v7:21.0.3’ 中的21代表API level 21推出的兼容包.
v4包沖突這個錯誤:多個module所引用的v4包版本不一致造成的; 把其他module的v4包修改成主module所使用的v4包即可!
support-v4用在API lever 4(即Android 1.6)或者更高版本之上。它包含了相對更多的內(nèi)容,而且用的更為廣泛,例如:Fragment,NotificationCompat,LoadBroadcastManager, ViewPager,PageTabAtrip,Loader,F(xiàn)ileProvider 等
Gradle引用方法:compile 'com.android.support:support-v4:21.0.3'
support-v7這個包是為了考慮API level 7(即Android 2.1)及以上版本而設(shè)計的,但是v7是要依賴v4這個包的,v7支持了Action Bar以及一些Theme的兼容。
Gradle引用方法:compile 'com.android.support:appcompat-v7:21.0.3'
Android Support v4: 這個包是為了照顧1.6及更高版本而設(shè)計的,這個包是使用最廣泛的,eclipse新建工程時,都默認帶有了。
Android Support v7: 這個包是為了考慮照顧2.1及以上版本而設(shè)計的,但不包含更低,故如果不考慮1.6,我們可以采用再加上這個包,另外注意,v7是要依賴v4這個包的,即,兩個得同時被包含。
Android Support v13 :這個包的設(shè)計是為了android 3.2及更高版本的,一般我們都不常用,平板開發(fā)中能用到。