ActionBarSherlock - 类型android.support.v4.app.Fra

2019-09-03 17:26发布

我使用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项目,而不是在其他项目不同

还要别的吗?

Answer 1:

我有同样的问题,因为你,因为我已经更新了SDK。 我已经这样做(基于Eclipse)解决我的问题:

  • 右键点击操作栏福尔摩斯库=> Properties => Java Build Path => Order and Export选项卡=>检查android support v4Android Private Libraries ,并选择确定
  • 右键单击您的个人项目,进入属性=> Java构建路径=> check Android Private Libraries
  • 清洁这两个项目,它应该工作。


Answer 2:

塞巴斯蒂安的回答竟使我的解决方案。 然而,提及的是,支持库必须手动添加到构建路径,以便能够检查它的出口是非常重要的。 对于未来的参考,下面是解决了这个问题,我的步骤:

  1. 确保支持库是在ABS项目的libs文件夹和无处
  2. 在图书馆右击 - >构建路径 - >添加到构建路径
  3. >属性 - - > Java构建路径 - >在线订单和出口 - >检查Android的支持,v4.jar文件并将其保存在ABS右键单击项目
  4. >属性 - - > Java构建路径 - >在线订单和出口 - 你在哪里已经包括ABS项目右键单击>检查“Android的私人图书馆”并保存
  5. 如果你在你的依赖层次结构的其他项目,做第4步这一切项目
  6. 清洁整个工作区(或所有受影响的项目),并希望最好的。

然而,这是一个谜,我为什么有这么复杂 - 因为乔​​希提到的,Eclipse在Android和大型项目的组合与一对夫妇的依赖很难用,我希望这将在不久的将来得到改善。



Answer 3:

就我而言,我使用2个需要Android的支持库的Android库。 问题是,这两个库有不同版本的Android支持库。

要解决此问题:右键单击库项目=> Android的工具=>添加支持库。

重复此动作为每个库。



Answer 4:

我有同样的问题。 有2个不同的库。 从主项目删除支持库



Answer 5:

这是最简单的解决方案:

右键单击您的项目文件夹 - >构建路径 - >配置构建路径 - >添加外部JAR(从库选项卡) - >选择“Android的支持,v4.jar”文件。

(这将设在Android的SDK文件夹这里是通用路径 “Android的SDK \演员\机器人\ SUPPORT \ V4”)。

在此之后的清洁你的项目和快乐编码...



Answer 6:

我面临着同样的问题,在我的情况我解决它通过右键点击项目 - >打造专业化路径 - >配置构建路径 - >“从左侧列表中选择Android的” - >“从右边选择构建项目目标的复选框手面板” - >点击应用 - >点击确定



Answer 7:

什么工作对我来说是比@Sebastien和@FleshWound以上的线程解决方案稍有不同。

  • 复制的文件“Android的支持,v4.jar”从/ MyProject的/库/和覆盖了一个在/ActionBarSherlock/libs/android-support-v4.jar。
  • 又到 “项目属性” - > “Java构建路径” - > “添加” - > ActionBarSherlock项目。
  • 清理项目。


Answer 8:

我使用的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 }


Answer 9:

我是新来的StackOverflow。 然而,这是我的解决方案和经验在这里。 在左侧面板>“Android的 - - 我解决了这个由项目属性>添加 - >从下拉菜单中选择所需的支持库 - >“应用” - >确定

这引起了它做。 即使在“Android的私人图书馆”是由Java构建路径中的“排序和导出”选中这个工作。



文章来源: ActionBarSherlock - The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files