2013-08-06 60 views
34

我正在從Action Bar Sherlock遷移到Action Bar compat。我刪除ABS,我有支持-v4谷歌地圖,我有錯誤。我會直接添加V4到項目,現在,看它是否解決了,但我想知道:如果我使用新的「V7 Appcompat庫」,我是否還需要「V4支持庫」才能獲得最低SDK = 7?

我真的不從文檔明白,如果庫是多餘的或補充嗎?

謝謝你的建議,指針等

編輯:這是一個讓我加入V4與「外部罐子......」它解決它的錯誤。

The type android.support.v4.app.TaskStackBuilder$SupportParentable cannot be resolved. 
It is indirectly referenced from required .class files 

但是,如果你說我不應該添加V4,如果已經有V7如何解釋它到Eclipse?

相關的職位,該解決方案是在這裏補充V4。 The hierarchy of the type activity is inconsistent when extending ActionBarActivity

編輯2:V4的罐子包括在V7庫項目如果做以下步驟逐點:http://developer.android.com/tools/support-library/setup.html#add-library 我的設置是:

  • 的Android 4.3:未選中
  • APrivate庫:未選中
  • V7-應用.../src目錄:檢查
  • V7-應用.../GEN:檢查
  • ADependencie:未選中
  • 生V7罐子:檢查
  • 原料V4罐子:檢查

回答

56

V7包括V4支持庫,所以沒有必要有它在那裏再次

如果你的libs文件夾看看在V7支持庫,你會看到,V4罐子是在庫

+0

所以當我有一個錯誤要求v4類,我解決了再次添加v4庫它沒用,我應該去每個錯誤,並使對象更改其依賴到android v7? 爲什麼這兩個庫之間有區別,而不僅僅是一個? – Poutrathor

+0

你確定你正確導入了v7庫嗎? v7是一個庫項目,意味着它有資源去處理事情,所以你不能複製jar文件,這聽起來像你做的。如果您查看支持庫的SDk,您將看到v7包含v4 jar文件,因此當您導入v7時,您也有v4 – tyczj

+0

我在文檔後面導入它,但您說得對,我可能無法檢入「order和出口「。我有: 採用Android 4.3:未選中 APrivate庫:未選中 V7-應用.../src目錄:檢查 V7-應用.../GEN:檢查 ADependencie:未選中 生V7罐子:檢查 raww V4的jar:檢查 你有什麼?爲什麼文檔要求取消依賴關係,但要檢查罐子?我們不檢查Android 4.3,因爲它是一個圖書館項目,對吧? (上帝,我有這麼多的問題!) – Poutrathor

5

V7已經引用是Android支持庫的新版本,只是一些在V4支持庫V7實現新的東西。所以v7的所有方法和類都可以在v7中使用。

所以,如果你加V7庫,然後無需添加V4庫。

+1

說V7依賴並參考V4會更準確。 V7不會取代V4。 –

+2

V7不是V4的替代品,但依賴於V4 https://developer.android.com/tools/support-library/features.html 注意:此庫(V7)取決於v4支持庫。如果您使用的是Ant或Eclipse,請確保您將v4 Support Library作爲此庫類路徑的一部分。 –

+0

widget.DrawerLayout怎麼樣?我應該如何在沒有v4的情況下導入此包? – user809808

2

如果您使用的是Android Studio中的默認方式包括V7支持庫是你定義Maven依賴的build.gradle文件。

dependencies { 
    compile 'com.android.support:appcompat-v7:18.0.0' 
} 

appcompat-v7 .aar文件不包含v4類。你可以通過查看你的build/exploded-bundles/ComAndroidSupportAppcompatV71800.aar文件夾來查看。我發現的是,如果您創建一個新項目,它還會包含SDK文件夾中v4的.jar文件。

2

在我的情況下(Eclipse中),這取決於你在你的項目中導入的V4和V7罐子。

我的建議是使用都存在這個文件夾上的文件的jar: C:\ ADT-束窗口-x86_64的-aaaammgg \ SDK \演員\機器人\ SUPPORT \ V7 \程序兼容性\庫

0

在當我在Eclipse中使用public class MainActivity extends AppCompatActivity時,僅僅使用'android-support-v7-appcompat.jar'是不夠的。我還需要添加android-support-v4.jar(構建路徑 - >庫 - >添加JAR)。只有AppCompatActivity被接受。

相關問題