我的應用程序使用ActionBarSherlock,並且一切都工作正常(經過Dalvik錯誤1之類的麻煩之後)。現在我想使用Android支持v4庫中的類,但是我找不到它來導入。如果我將v4庫(在ABS'屬性下)設置爲導出,但它會起作用,但是我得到Dalvik錯誤1(已添加)錯誤。ADT 17之後,我該如何使用ActionBarSherlock和Android Support v4庫?
如何使用這兩個庫?
我的應用程序使用ActionBarSherlock,並且一切都工作正常(經過Dalvik錯誤1之類的麻煩之後)。現在我想使用Android支持v4庫中的類,但是我找不到它來導入。如果我將v4庫(在ABS'屬性下)設置爲導出,但它會起作用,但是我得到Dalvik錯誤1(已添加)錯誤。ADT 17之後,我該如何使用ActionBarSherlock和Android Support v4庫?
如何使用這兩個庫?
由於ActionBarSherlock本身依賴於Android支持包,因此只需將ActionBarSherlock作爲庫項目添加到您的主項目中即可自動訪問Android支持包,無需任何修改。您將在Package Explorer中的Android Dependencies中看到android-support-v4.jar
。
例如,this sample project引用this copy of ActionBarSherlock作爲庫項目,它使用android.support.v4.app.NotificationCompat
沒有問題。
發現這是我的老版本的ViewPagerIndicator導致的問題。 更新到五月版本修復它,但我不得不在我的適配器做一些小的改變。
如果仍出現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>
請注意,屬性exported
設置爲true,在不同的節點上XML文件。調整我現有項目中的XML文件爲我解決了這個問題。
希望這有助於像我一樣:)
編輯別人無法與它浪費這麼多時間:代碼格式化
這是我的問題,那麼。我在Android Dependencies中看不到支持.jar。 –
看到這個答案這可能會幫助你 http://stackoverflow.com/a/10046725/1289716 – MAC
@ D_Steve595:確保你在最新版本的Android SDK工具和ADT插件,以防止你跳過一個在當前版本中修復的錯誤。確保你的主項目在像'android.library.reference.1 = ../../external/ActionBarSherlock'這樣的'project.properties'中有一行(用你的ActionBarSherlock副本的相對路徑替換那裏顯示的路徑 – CommonsWare