6/25/2014

[Android] ADT更新22.6 產生appcompat_v7 解決辦法

在更新ADT至22.6後 , 每當新建會莫名其妙的跑出這個傢伙 appcompat_v7,出現不理會就算了,當建立第二個專案時還會自己開分身…
image

更新ADT之後,會因為您選擇的Target SDK與Compile With的Android版本會讓ADT自行使用Android Support Library,而且會在你建立好專案時自動再幫你新增一個專案為appcompat_v7,這個專案是以Library的型式存在的。

image

說穿了,appcompat_v7就是一個自動產生的library為了相容到舊的版本,是一個Library Project, 作用是讓你的Andr​​oid Project 在API 7+的sdk版本(即Android2.1版本)可以訪問ActionBar的API,ActionBar相當於用戶界面的操作欄,具體ActionBar的解釋可以參考:http://developer.android.com/guide/topics/ui/actionbar.html。所以從中可以看出多出這個project是為了兼容低版本的sdk,那我們創建的Andr​​oid項目是如何引用這個類庫項目呢?通過右鍵點擊Android項目---->Properties-->Android,可以查看到該類庫項目已被引用進來了

image

 

解決方式如下,建立新專案時,最低SDK版本(Minimum Required SDK)指定為 API 14(即 Android 4.0),就不會出現appcompat_v7。 初步認為應該是為了讓新版本專案向下相容到舊版本Android(即小於 android 4.0)。

但是這個方法不是很好,因為開發的應用程式希望能向下相容至舊的版本配合官方這個開發新方式 , 在建立好新的專案後 , 以下列的方式可以解決:

  1. 先對你建的專案與appcompat_v7做Clean
  2. 先Build appcompat_v7再Build自已的專案
  3. 如果有Clean你的專案,Build發生問題時必需先重新Clean and Build appcompat_v7

掌握以上原則,基本上你建立的新專案就可以順利的Build成功。

沒有留言:

張貼留言

請留言~一起討論吧~