在Android Studio中安装ActionbarSherlock?

35

像许多其他Android开发者一样,我安装了Android Studio,但是我该如何在Android Studio中安装actionbarsherlock?

有什么帮助吗? 我甚至不知道从哪里开始。


我知道这是可能的,因为他们今天在主题演讲中讨论了ActionbarSherlock。我已经尝试从Eclipse迁移包含ABS的项目,但没有成功。出现DAX错误,抱怨有多个支持库的副本。 - bgolson
顺便说一下,由于AppCompat已经稳定了,所以现在不再需要ABS了。我之前也犯过同样的错误,我相信其他人看到这里也会犯错。 - Muz
6个回答

50

我也曾遇到过ActionBarSherlock的问题。虽然我有一个现有项目,但好像你只是想从头开始使用ABS。下面是一步一步的说明:

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

2) 解压缩ABS后,你应该会看到一个名为“actionbarsherlock”的目录。将其复制到你的Android Studio工作区并重命名为ActionBarSherlock(更改大小写) --> 我现在将我的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\ ,点击OK,一路到结束。它会问你是否要将新模块设置为依赖项(或者至少我的是这样),点击OK

4) 在这一点上,我发现编译时出现了错误,错误位于\ActionBarSherlock\test\中,抱怨Junit。我只需在项目视图下删除我的ABS模块中的\Test\目录。右键单击\test\ > 删除...

5) 现在,你应该能够无错误地编译 :)

希望这能对某些人有所帮助。

基本上,我需要重新下载完全新的ABS,清除旧项目的ABS(可能相当旧),然后导入模块...

编辑:本文是一段时间前写的,所以我不确定它今天是否仍然相关。但正如保罗在评论中提到的那样,请尝试这些步骤,并阅读此处关于通用导入库的ABS线程-->如何将库项目添加到Android Studio?


仅仅点击“这很有用”是不够的: 谢谢!!!这正是我正在寻找的 :-) - CJe
@CJe 很高兴你觉得它有用 :) - wired00
更新:是的,这种方法增加了ABS,但当我尝试使用它时,它会出现错误,说找不到SherlockActivity.app等。经过大量寻找,https://dev59.com/TmQn5IYBdhLWcg3wxZcn(带有一些微小的调整)让我成功了! - Paul A.
请确保将ActionBarSherlock作为您的主应用程序的依赖项添加。 - jpotts18

12
dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:13.0.+'
}

ActionBar Sherlock with Android Studio 0.2.2找到了这个答案。

这个问题应该被关闭,并链接为重复。上面的那行代码将库添加为Maven依赖项,因此不需要将其作为整个项目包含在内。它还让您从一行代码中控制版本。非常好的解决方法。感谢其他问题上发布者的原帖。

这里还有一个GitHub上的示例项目:

https://github.com/JakeWharton/ActionBarSherlock-Gradle-Sample

支持库的版本号并不是关键,确保始终使用项目允许的最新版本即可。实际上,将支持JAR包作为整体包含进来是非可选的。


我在使用ActionBarSherlock和Greadle时遇到了许多错误,最终解决方法是将依赖项更改为: dependencies { compile 'com.android.support:support-v4:21.0.2' compile project(':ActionBarSherlock') } - Hanan N

2
wired00的回答很好,但是我在编译过程中遇到了以下错误:
android-apt-compiler: No resource found that matches the given name 'Theme.Sherlock.Light'

ActionBarSherlock最初是以应用程序项目的形式编译的。要将其作为库进行编译有些困难,所以如果您遇到相同的问题,请按照以下步骤:

文件 > 项目结构 > 模块 > ActionBarSherlock > 选中“库模块”复选框。


1
@kabuto178 - 在文件 > 项目结构 > 模块 > 依赖项 中添加ActionBarSherlock作为依赖项,而不是作为库。这样就可以解决错误了。 - mipreamble

2

但是这个教程是关于Linux操作系统的,我正在使用Windows 7操作系统。你能提供相关链接吗? - Qadir Hussain
@QadirHussain 它也适用于Win7。 - amalBit

0
为了解决这个问题,你只需要将abs资源路径添加到你的项目构建文件中,就像下面这样:
sourceSets {
main {
            res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
        }
    }

所以,我再次编译没有错误。


0

我采用了一种不同的方法,将ABS res文件夹与我的res文件夹合并,并使用ActionBarSherlock.jar作为全局库。

到目前为止,效果很好!但这是一种hack方法,因为我厌倦了做很多事情,而且我不能使用Gradle,因为其他开发人员使用Eclipse ADT而没有使用Gradle。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接