Java 有关ActionBarSherlock的将项目导入Android Studio的问题

Java 有关ActionBarSherlock的将项目导入Android Studio的问题,java,android,intellij-idea,actionbarsherlock,android-studio,Java,Android,Intellij Idea,Actionbarsherlock,Android Studio,是否有其他人在导入带有ActionBarSherlock的项目时遇到问题? 我总共有100个错误和17个警告。这在Eclipse中非常有效。我按照步骤创建了一个。在我尝试构建项目之前,没有导入错误 我还尝试重新下载ABS fresh并将其替换到我的项目中 ABS和IntelliJ是否存在已知问题?(安卓工作室现在当然是基于此) 以下是我看到的一些错误: java: ... Workspace/ActionBarSherlock/src/com/actionbars

是否有其他人在导入带有
ActionBarSherlock
的项目时遇到问题? 我总共有100个错误和17个警告。这在
Eclipse
中非常有效。我按照步骤创建了一个。在我尝试构建项目之前,没有导入错误

我还尝试重新下载ABS fresh并将其替换到我的项目中

ABS和IntelliJ是否存在已知问题?(安卓工作室现在当然是基于此)

以下是我看到的一些错误:

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java:4: cannot find symbol
        symbol  : class Fragment
        location: package android.support.v4.app

        java: ...  Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java:4: cannot find symbol
        symbol  : class ListFragment
        location: package android.support.v4.app

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/widget/SuggestionsAdapter.java:33:
        package android.support.v4.widget does not exist
非常感谢您的帮助

编辑:使用标准IntelliJ IDEA似乎没有问题。许多在线指南用于设置ABS。正如Jake提到的,他实际上一直在开发IntelliJ

以下是一个示例指南:

然而,我仍然不确定为什么它不能在Android Studio中工作


Edit2:下面答案中的解决方案。简言之:(我下载了
abs
最新版本,从我的项目中提取并删除了
abs
的旧版本,然后
文件>导入模块…
actionbarsherlock
目录导入到我现有的项目中。注意,在我的特殊情况下,我遇到了junit编译错误问题,需要删除\test\junit\)在将模块导入到
Android Studio
时,似乎有很多一般性问题,不仅仅是
ActionBarSherlock
,这个答案也可能解决这些问题。(然而,与junit相关的最后步骤是专门针对
abs

通过下面的步骤,我可以让
ActionBarSherlock
毫无问题地运行

1)在此处下载最新ABS:

2)Extract ABS您应该在其中有一个名为“actionbarsherlock”的目录。将其复制到您的Android Studio工作区。并重命名为
ActionBarSherlock(更改大小写)
-->我现在在
\*documents*\Android Workspace\
下有了我的Android Studio项目,而不是
\Eclipse Workspace\

因此,您现在应该有如下内容:

\*文档*\Android工作区\ActionBarSherlock\

随着你的主要项目,也许:

\*文档*\Android Workspace\TestProject\

3)打开Android Studio加载您的
测试项目
,然后转到
文件>导入模块..
。现在导航到
\*documents*\Android Workspace\ActionBarSherlock\
单击“确定”,然后单击“下一步”完成。它会询问您是否要设置新模块的依赖性(或至少我的依赖性),单击“确定”

4)编译时,我在
\ActionBarSherlock\test\
中遇到错误,抱怨
Junit
。我只是从项目视图下的ABS模块中删除了
\Test\
目录<代码>右键单击\test\>删除…。您还可以包括junit jar文件,但我认为这不是必需的

5)您现在应该能够无错误地编译

希望这对某人有帮助


基本上,我需要重新下载一个全新的ABS,删除旧项目的ABS(可能很旧),然后导入模块…

我遇到了类似的问题,但由于另一个问题,我无法下载最新的ActionBarShelock来修复wired00描述的问题

如果您需要继续使用现有的ABS版本,请查看该版本是否适用于您:

  • 单击文件->项目结构
  • 您应该会在模块列表中看到“ActionBarSherlock”,单击它
  • 单击“依赖项”选项卡,很可能您没有android支持库v4
  • 单击底部的“+”按钮,并将android-support-v4添加为依赖项。如果您从Eclipse导入项目,Android Studio可能已经将support JAR文件作为库导入,您可以直接使用它。否则,您可能需要使用“jars或directories”选项并从目录中选择支持jar文件
  • 如果您的主模块或其他模块也在使用支持库,如果出现“DEX已添加”错误,则可能需要将设置“Compile”更改为“Provided”
  • 你现在应该可以编译你的ABS mobule了。如果出现“hamcrest”或“junit”编译错误,可以删除ABS项目中的“test”文件夹,如wired00所述
  • 这对我有用

    首先是wired00提供的答案

    我在这里做了一些改变

    通过从Eclipse生成gradle构建文件,我在ActionBarSherlock库项目中创建了一个build.gradle文件

    编辑build.gradle(对于ActioBarSherlock库项目),在依赖项{}中添加一行
    编译文件('libs/android-support-v4.jar')

    编辑build.gradle(对于我的项目),删除
    编译文件('libs/android-support-v4.jar')
    并添加
    编译项目(':abs')
    abs应该是ActionBarSherlock库项目名

    编辑settings.gradle,添加
    ,':abs'


    删除android-support-v4.jar文件(ActionBarSherlock库项目中的文件除外)

    我也面临同样的问题。我甚至遵循类似于导入ABS库的步骤。但我还是犯了同样的错误。最后我解决了这个问题。 解决方案:在执行与导入ABS库类似的步骤后

  • 重新编译项目(右键单击项目并单击“编译模块”YourApp)
  • 重新编译库项目(右键单击库项目并单击“编译模块”库)

  • 就是这样。

    我在IntelliJ中开发了ABS两年,并通过IntelliJ中的Maven在许多项目中使用它。看起来支持库不见了。@JakeWharton谢谢Jake,是的,事实上在发布这篇文章后,我通过谷歌找到了让你的腹肌工作起来的快速指南