簡體   English   中英

在ADT 17之后,如何使用ActionBarSherlock和Android支持v4庫?

[英]After ADT 17, how do I use ActionBarSherlock AND the Android Support v4 library?

我的應用程序使用了ActionBarSherlock,並且一切正常(在Dalvik錯誤1之類的麻煩之后)。 現在,我想使用Android支持v4庫中的類,但是找不到要導入的類。 如果將v4庫(在ABS的屬性下)設置為導出,則它可以工作,但隨后出現Dalvik錯誤1(已添加)錯誤。

如何使用這兩個庫?

如果您仍然遇到ABS問題,這可能會有所幫助:

  • 從頭開始創建新項目可以在ABS和支持庫中很好地工作,但是無論如何,我現有的項目在升級ADT之后都無法正常工作(主Activity為ClassNotFoundException)
  • 我將最新版本的支持庫添加到ABS庫項目和引用項目中,但是仍然發生異常
  • 最后,我比較了正在工作的新項目和現有項目的所有配置文件,發現以下差異:

現有項目:

<classpath>
  <classpathentry kind="src" path="src"/><classpathentry kind="src" path="gen"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>  
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
  <classpathentry kind="output" path="bin/classes"/>
</classpath>

新建(工作)項目:

<classpath>
  <classpathentry kind="src" path="src"/><classpathentry kind="src" path="gen"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
  <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
  <classpathentry kind="output" path="bin/classes"/>
</classpath>

請注意,在XML文件中的不同節點上, exported的屬性設置為true。 調整現有項目中的XML文件可以解決我的問題。

希望這可以幫助其他人不要像我那樣浪費太多時間:)

編輯:代碼格式

由於ActionBarSherlock本身依賴於Android支持包,因此僅將ActionBarSherlock作為庫項目添加到您的主項目中,即可自動訪問Android支持包,而無需進行任何修改。 您將在Package Explorer中的Android Dependencies中看到android-support-v4.jar

例如, 此示例項目 將ActionBarSherlock的此副本作為庫項目引用,並且它使用android.support.v4.app.NotificationCompat毫無問題。

發現是導致該問題的是我的舊版ViewPagerIndicator。 更新到May版本修復了該問題,但是我必須對我的適配器進行一些小的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM