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

是否有其他人有导入与ActionBarSherlock项目的问题? 我总共有100个错误和17个警告。 这在Eclipse完美工作。 我遵循这些步骤来创build一个Gradle构build文件 。 直到我试图build立项目,没有import错误。

我也尝试重新下载ABS新鲜和replace到我的项目。

是否有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进行设置。 也正如杰克所说,他实际上是在IntelliJ开发的东西

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

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

编辑2:解答在下面的答案。 总之:(我下载了abs最新版本,解压缩后,从我的项目中删除了旧版本的abs ,然后file > import module...actionbarsherlock目录导入到我现有的项目中。 junit编译错误,需要删除\ test \ junit \)

似乎有很多关于将模块导入到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然后转到File> Import Module.. 现在导航到\*documents*\Android Workspace\ActionBarSherlock\下的\*documents*\Android Workspace\ActionBarSherlock\点击确定,接下来完成。 它会问你是否要设置一个依赖的新模块(或者至less是我的)单击确定

4)在编译的时候,我在\ActionBarSherlock\test\抱怨关于Junit 。 我只是在项目视图下从我的ABS模块中删除了\Test\目录。 Right click \test\ > Delete... 你也可以包括junit的jar文件,但我不认为它是必要的

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

希望能帮助别人。

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

这对我有用..

首先,接着由wired00提供的答案

我从这里做了一些改变。

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

编辑build.gradle(用于ActioBarSherlock库项目),在依赖关系中添加一行{} 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文件

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

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

  1. 点击文件 – >项目结构。
  2. 你应该在模块列表中看到“ActionBarSherlock”,点击它。
  3. 点击“依赖”选项卡,很可能你没有安卓支持库v4。
  4. 点击底部的“+”button,添加android-support-v4作为依赖项。 如果您从Eclipse导入项目,Android Studio可能已经将支持JAR文件导入为库,您可以直接使用它。 否则,您可能需要使用“jar或目录”选项并从目录中select支持jar文件。
  5. 如果您的主模块或其他模块也在使用支持库,则可能需要将“编译”设置更改为“提供”,如果您收到“DEX已添加”错误。
  6. 你现在应该可以编译你的ABSanimation。 如果您收到“hamcrest”或“junit”编译错误,您可以将ABS项目中的'test'文件夹删除为wired00。

我也面临同样的问题。 我甚至按照类似于导入ABS库的步骤。 但是我仍然得到同样的错误。 最后我解决了这个问题。 解决scheme:按照与导入ABS库相似的步骤,

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

而已..