我使用ActionBarSherlock作为一个项目,该项目是一个库本身库项目。 这是所有工作正常,直到我搬到这个项目到新计算机,并更新了SDK工具。
我有这样的错误,我不明白。 当我创建这样的扩展SherlockFragment类:
import com.actionbarsherlock.app.SherlockFragment;
public class SomeFragment extends SherlockFragment {
...
}
我有以下的编译错误:
The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files
我已经检查了以下情况:
- ActionBarSherlock导入为库
- 在构建路径没有明显误差(无红色交叉)和actionbarsherlock.jar是本
- 支持库是在ActionBarSherlock项目,而不是在其他项目不同
还要别的吗?
我有同样的问题,因为你,因为我已经更新了SDK。 我已经这样做(基于Eclipse)解决我的问题:
- 右键点击操作栏福尔摩斯库=>
Properties
=> Java Build Path
=> Order and Export
选项卡=>检查android support v4
或Android Private Libraries
,并选择确定 - 右键单击您的个人项目,进入属性=> Java构建路径=>
check Android Private Libraries
- 清洁这两个项目,它应该工作。
塞巴斯蒂安的回答竟使我的解决方案。 然而,提及的是,支持库必须手动添加到构建路径,以便能够检查它的出口是非常重要的。 对于未来的参考,下面是解决了这个问题,我的步骤:
- 确保支持库是在ABS项目的libs文件夹和无处
- 在图书馆右击 - >构建路径 - >添加到构建路径
- >属性 - - > Java构建路径 - >在线订单和出口 - >检查Android的支持,v4.jar文件并将其保存在ABS右键单击项目
- >属性 - - > Java构建路径 - >在线订单和出口 - 你在哪里已经包括ABS项目右键单击>检查“Android的私人图书馆”并保存
- 如果你在你的依赖层次结构的其他项目,做第4步这一切项目
- 清洁整个工作区(或所有受影响的项目),并希望最好的。
然而,这是一个谜,我为什么有这么复杂 - 因为乔希提到的,Eclipse在Android和大型项目的组合与一对夫妇的依赖很难用,我希望这将在不久的将来得到改善。
就我而言,我使用2个需要Android的支持库的Android库。 问题是,这两个库有不同版本的Android支持库。
要解决此问题:右键单击库项目=> Android的工具=>添加支持库。
重复此动作为每个库。
我有同样的问题。 有2个不同的库。 从主项目删除支持库
这是最简单的解决方案:
右键单击您的项目文件夹 - >构建路径 - >配置构建路径 - >添加外部JAR(从库选项卡) - >选择“Android的支持,v4.jar”文件。
(这将设在Android的SDK文件夹这里是通用路径 “Android的SDK \演员\机器人\ SUPPORT \ V4”)。
在此之后的清洁你的项目和快乐编码...
我面临着同样的问题,在我的情况我解决它通过右键点击项目 - >打造专业化路径 - >配置构建路径 - >“从左侧列表中选择Android的” - >“从右边选择构建项目目标的复选框手面板” - >点击应用 - >点击确定
什么工作对我来说是比@Sebastien和@FleshWound以上的线程解决方案稍有不同。
- 复制的文件“Android的支持,v4.jar”从/ MyProject的/库/和覆盖了一个在/ActionBarSherlock/libs/android-support-v4.jar。
- 又到 “项目属性” - > “Java构建路径” - > “添加” - > ActionBarSherlock项目。
- 清理项目。
我使用的Android Studio和面临着类似的问题(加载ListFragment)。 我最初导入库:
进口android.support.v4.app.ListFragment;
然后应用diectory内更新的build.gradle:确保依存关系部分包括支持libraries-
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:20.0.0 }
我是新来的StackOverflow。 然而,这是我的解决方案和经验在这里。 在左侧面板>“Android的 - - 我解决了这个由项目属性>添加 - >从下拉菜单中选择所需的支持库 - >“应用” - >确定
这引起了它做。 即使在“Android的私人图书馆”是由Java构建路径中的“排序和导出”选中这个工作。
文章来源: ActionBarSherlock - The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files