27

还有其他人在导入项目时遇到问题ActionBarSherlock吗?我总共有 100 个错误和 17 个警告。这在Eclipse. 我按照步骤创建了一个Gradle 构建文件。在我尝试构建项目之前没有导入错误。

我还尝试重新下载 ABS 新鲜并替换到我的项目中。

ABS 是否存在已知问题IntelliJ?(当然现在基于 Android Studio)

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

        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 开发这个东西

这是一个示例指南: http ://android-wtf.com/2012/09/how-to-configure-actionbarsherlock-with-intellij-idea/

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

Edit2:下面的答案中的解决方案。简而言之:(我下载abs了最新版本,abs从我的项目中提取,删除了旧版本,然后file > import module...actionbarsherlock目录导入到我现有的项目中。注意,在我的特殊情况下,我遇到了 junit 编译错误的问题,需要删除 \test\君子\)

4

4 回答 4

26

似乎有很多关于将模块导入到的一般问题Android Studio,而不仅仅是ActionBarSherlock,这个答案也可能解决这些问题。(但是与 junit 相关的最后一步是特定于abs

以下步骤使我可以毫无问题地ActionBarSherlock运行。

1)在此处下载最新的 ABS:http: //actionbarsherlock.com/

2)解压ABS,你应该有一个名为“actionbarsherlock”的目录。将其复制到您的 Android Studio 工作区。并重命名为ActionBarSherlock (changed casing)--> 我现在有我的 Android Studio 项目,\*documents*\Android Workspace\而不是\Eclipse Workspace\

所以你现在应该有类似的东西:

\*documents*\Android Workspace\ActionBarSherlock\

与您的主要项目一起可能:

\*documents*\Android Workspace\TestProject\

3)打开 Android Studio 加载你TestProject然后 goto File> Import Module..。现在导航到单击 Ok 下的 ActionBarSherlock,\*documents*\Android Workspace\ActionBarSherlock\ 然后一直到完成。它将询问您是否要设置对新模块的依赖关系(或者至少我的模块)单击确定

4)在编译时,我在\ActionBarSherlock\test\抱怨时遇到了错误Junit\Test\我只是在项目视图下从我的 ABS 模块中删除了该目录。Right click \test\ > Delete.... 您也可以包含 junit jar 文件,但我认为没有必要

5)你现在应该可以编译没有错误了

希望这可以帮助某人。

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

于 2013-05-16T02:46:43.760 回答
6

这对我有用..

首先,遵循wired00提供的答案

我从这里做了一些改变。

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

编辑 build.gradle(for ActioBarSherlock 库项目) ,在 dependencies {} 中添加一行 compile files('libs/android-support-v4.jar')

编辑 build.gradle(对于我的项目),删除compile files('libs/android-support-v4.jar')和添加compile project(':abs')abs 应该是 ActionBarSherlock 库项目名称。

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

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

于 2013-05-18T09:56:49.503 回答
2

我遇到了类似的问题,但由于一个单独的问题,我无法下载最新的 ActionBarShelock 来解决wired00 描述的问题。

如果您需要坚持使用现有的 ABS 版本,请查看这是否适合您:

  1. 单击文件->项目结构。
  2. 您应该在模块列表中看到“ActionBarSherlock”,单击它。
  3. 单击“依赖项”选项卡,很可能那里没有 android 支持库 v4。
  4. 单击底部的“+”按钮,并将 android-support-v4 添加为依赖项。如果您从 Eclipse 导入项目,Android Studio 可能已经将支持 JAR 文件作为库导入,您可以直接使用它。否则,您可能需要使用“jars 或目录”选项并从目录中选择支持 jar 文件。
  5. 如果您的主模块或其他模块也在使用支持库,如果您收到“DEX 已添加”错误,您可能需要将设置“编译”更改为“提供”。
  6. 你现在应该可以编译你的 ABS mobule 了。如果您收到“hamcrest”或“junit”编译错误,您可以删除 ABS 项目中的“test”文件夹,如wired00 所述。
于 2013-05-17T18:51:11.003 回答
0

我也面临同样的问题。我什至遵循类似于导入 ABS 库的步骤。但我仍然遇到同样的错误。最后我解决了这个问题。解决方案:按照与导入 ABS 库类似的步骤后,

  1. 重新编译您的项目(右键单击您的项目并单击“编译模块“YourApp”')
  2. 重新编译库项目(右键单击库项目并单击“编译模块“库”')

而已..

于 2013-06-25T12:52:05.713 回答