我的应用程序使用 ActionBarSherlock,并且一切正常(在遇到 Dalvik 错误 1 等诸多麻烦之后)。现在我想使用 Android 支持 v4 库中的一个类,但找不到要导入的类。如果我将 v4 库(在 ABS 的属性下)设置为导出,则它可以工作,但随后我得到 Dalvik 错误 1(已添加)错误。
我如何使用这两个库?
我的应用程序使用 ActionBarSherlock,并且一切正常(在遇到 Dalvik 错误 1 等诸多麻烦之后)。现在我想使用 Android 支持 v4 库中的一个类,但找不到要导入的类。如果我将 v4 库(在 ABS 的属性下)设置为导出,则它可以工作,但随后我得到 Dalvik 错误 1(已添加)错误。
我如何使用这两个库?
如果您仍然遇到 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
在 XML 文件的不同节点上设置为 true。在我现有的项目中调整 XML 文件为我解决了这个问题。
希望这可以帮助其他人不要像我一样浪费时间:)
编辑:代码格式
Since ActionBarSherlock itself depends on the Android Support package, merely adding ActionBarSherlock as a library project to your main project will give you access to the Android Support package automatically, without any modifications. You will see android-support-v4.jar
in your Android Dependencies in the Package Explorer.
For example, this sample project references this copy of ActionBarSherlock as a library project, and it uses android.support.v4.app.NotificationCompat
without issue.
发现是我的旧版本的 ViewPagerIndicator 导致了这个问题。更新到 5 月版本修复了它,但我不得不在我的适配器中进行一些小改动。