android support的作用及其常見錯誤的解決,androidsupport

來源:互聯網
上載者:User

android support的作用及其常見錯誤的解決,androidsupport
首先我們要明白這些包到底是幹什麼用的

google提供了Android Support Library package 系列的包來保證來高版本sdk開發的向下相容性,即我們用4.x開發時,在1.6等版本上,可以使用高版本的有些特性,如fragement,ViewPager等,下面,簡單說明下這幾個版本間的區別:
  • Android Support v4: 這個包是為了照顧1.6及更高版本而設計的,這個包是使用最廣泛的,eclipse建立工程時,都預設帶有了
  • Android Support v7: 這個包是為了考慮照顧2.1及以上版本而設計的,但不包含更低,故如果不考慮1.6,我們可以採用再加上這個包,另外注意,v7是要依賴v4這個包的,即,兩個得同時被包含
  • Android Support v13 :這個包的設計是為了android 3.2及更高版本的,一般我們都不常用,平板開發中能用到。
匯入這些包遇見的各種各樣的問題
  • 項目中需要使用到Android support包中提供的東西,不免就要把support包放到libs下,然後使用。但我在使用android-support-v7-appcompat.jar卻出現了如下問題:
  • 我明明使用了v7的包,ActionBarActivity類也匯入成功了,但還是用不了~~
  • 原來v7是對v4存在依賴的,並且兩者的版本還必須一樣,否則沒法使用。所以只需要在網上找個v4和v7一起的資源放在一起用就行了。
  • Android sdk裡面都內建的有這些support包,位置為..\sdk\extras\android\support。如果想用v7的包,直接到..\sdk\extras\android\support\v7\appcompat\libs下拿就行了,其他類同。不僅版本一致,而且版本都是與當前sdk的版本一致的
可能遇到的問題一: styles......No resource found
res\values\styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.對於values這個地方產生的no resource found問題,說明是沒有v7下的資源
  • 解決方案:

    添加資產庫,針對上面的例子,AppCompat這個是v7裡的,所以缺少的是v7的資源。從sdk去擷取,路徑是sdk\extras\android\support\v7\appcompat,把這個library通過eclipse匯入(import)。然後之前的項目添加該lib,再clean下。這樣上面的問題可以搞定

可能遇到的問題二:values-v11,values-v21,values-v17等等下的No resource found
appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.appcompat\res\values-v11\themes_base.xml:178: error: Error: No resource found that matches the given name: attr 'android:windowActionBar'.appcompat\res\values-v14\themes_base.xml:27: error: Error: No resource found that matches the given name: attr 'android:actionModePasteDrawable'.對於在values-v11這類針對不同android target載入的values下找不到資源的問題,原因還是一樣,找不到這個target下的資源
  • 解決方案:

    很簡單,把project.properties裡的target=android-8或者可能稍微高點,改到target=android-21或者更高(前提是sdk已經下載了該target的庫),然後再clean下項目。這樣這類問題也就解決了,當然你在Manifest裡不要忘記加上uses-sdk,來允許最低版本

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.