23

我已经使用发布此问题的步骤将模块导入 Android Studio: Problems importing project into Android Studio about ActionBarSherlock

IDE 运行良好,但不影响构建。来自Android Studio:是否从 project.properties 中选择了库项目依赖项?

如果你使用 Gradle,project.properties 将被完全忽略。您现在不应该使用 Module Settings 添加依赖项,因为它只会更改 IDE 而不会更改基于 Gradle 的构建系统(我们将在以后的版本中修复此问题)。

我已经修改了依赖项build.gradle

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(":ActionBarSherlock")
}

但它现在构建打印不同的错误:Gradle:

FAILURE: Build failed with an exception.
* Where:
Build file '...PATH.../PROJECT_NAME/PROJECT_NAME/build.gradle' line: 13
* What went wrong:
A problem occurred evaluating project ':PROJECT_NAME'.
> Project with path ':ActionBarSherlock' could not be found in project ':PROJECT_NAME'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
4

3 回答 3

23

此答案已被删除:请查看 AppCompat 作为替代品!

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

在Android Studio 0.2.2的 ActionBarSherlock 网站和ActionBar Sherlock上发现

ABS 已经发布了他们的 aar。

还有一个在 github 上使用它的示例:

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

支持库版本号并不重要,请确保您始终使用项目允许的最新版本。整个支持 jar 的实际包含不是可选的

于 2013-09-03T21:01:06.960 回答
11

只是一个通知:目前似乎还没有正确支持导入包含资源(aar 库文件)的外部库。这就是为什么 ActionBarSherlock 还没有将他们的项目作为 aar 文件发布的原因。但是,如果您将外部库(ActionBarSherlock)的代码放在项目目录中,它应该能够工作。

现在,要让多个项目正常工作,请在项目的根目录中创建一个名为“settings.gradle”的文件,并将以下几行放入其中:

include 'actionbarsherlock'
include 'yourproject'

现在确保你在 gradle.settings 所在的文件夹中有两个子目录:actionbarsherlock 和 yourproject。在这些子目录中应该是构建文件 (build.gradle) 和项目的其余部分。结构应该是这样的:

项目
|-- 设置.gradle
|-- actionbarsherlock
| |-- 构建.gradle
| |-- AndroidManifest.xml
| |-- 源
| | `-- *
| |-- 资源
| | `-- *
| `-- ...
`--你的项目
    |-- 构建.gradle
    `--src
        `--主要
            |-- AndroidManifest.xml
            |-- 爪哇
            | `-- *
            `--资源
                `-- *

希望这是有道理的,尽管这通常是您构建自己的多个依赖项目的方式。您通常不希望外部库(如 ActionBarSherlock)的代码出现在您的项目存储库中,但就像我说的那样,正确执行它还没有准备好。

另外,请注意,ActionBarSherlock 的稳定版本还没有 gradle 构建文件。使用来自 git 的 ActionBarSherlock 的 dev 分支来获取正确的源文件:https ://github.com/JakeWharton/ActionBarSherlock/tree/dev/actionbarsherlock

于 2013-05-31T12:28:55.257 回答
2

我希望我们可以向人们展示其中一些库已被弃用。

现在应该使用 AppCompat 代替已弃用的 ActionbarSherlock。

于 2015-02-24T22:10:38.220 回答