Подтвердить что ты не робот

Как импортировать Action Bar Sherlock в проект gradle?

Я импортировал модуль в Android Studio, выполнив шаги, поставленные на этот вопрос: Проблемы с импортом проекта в Android Studio в ActionBarSherlock

IDE работает хорошо, но это не влияет на сборку. Из Android Studio: зависят ли зависимости проекта библиотеки от project.properties?

Если вы используете Gradle, project.properties полностью игнорируется. Теперь вы не должны использовать параметры модуля для добавления зависимостей, так как это только изменяет среду 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.
4b9b3361

Ответ 1

Просто уведомление: на данный момент правильная поддержка импорта внешних библиотек, содержащих ресурсы (файлы aar library), пока не поддерживается должным образом. Именно по этой причине ActionBarSherlock еще не выпускает свой проект в качестве файла aar. Однако если вы поместите код внешней библиотеки (ActionBarSherlock) в каталог своего проекта, он сможет работать.

Теперь, чтобы создать несколько проектов, создайте в корневом каталоге файл с именем "settings.gradle" и разместите там следующие строки:

include 'actionbarsherlock'
include 'yourproject'

Теперь убедитесь, что у вас есть два подкаталога в той же папке, что и gradle.settings: actionbarsherlock и ваш проект. В этих подкаталогах должен быть файл сборки (build.gradle) и остальная часть вашего проекта. Структура должна быть примерно такой:

Project
|-- settings.gradle
|-- actionbarsherlock
|   |-- build.gradle
|   |-- AndroidManifest.xml
|   |-- src
|   |   `-- *
|   |-- res
|   |   `-- *
|   `-- ...
`-- yourproject
    |-- build.gradle
    `-- src
        `-- main
            |-- AndroidManifest.xml
            |-- java
            |   `-- *
            `-- res
                `-- *

Надеюсь, это имеет смысл, хотя обычно это способ создания нескольких зависимых друг от друга проектов. Обычно вы не хотите, чтобы код внешних библиотек (например, ActionBarSherlock) находился в вашем репозитории проектов, но, как я уже сказал, делать это правильно еще не готово.

Кроме того, только уведомление, стабильные версии ActionBarSherlock еще не имеют файла сборки gradle. Используйте ветку ActionBarSherlock dev от git, чтобы получить правильные исходные файлы: https://github.com/JakeWharton/ActionBarSherlock/tree/dev/actionbarsherlock

Ответ 2

ЭТО ОТВЕТ ОТПРАВЛЯЕТСЯ: Пожалуйста, проверьте AppCompat как замену!

dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:[email protected]'
    compile 'com.android.support:support-v4:18.0.+'
}

Найдено, что на сайт ActionBarSherlock и ActionBar Sherlock с Android Studio 0.2.2

ABS выпустила свой аран.

Также образец, использующий его в github:

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

Номер версии библиотеки поддержки не является критическим, убедитесь, что вы всегда используете самую последнюю версию, разрешенную вашим проектом. Фактическое включение поддержки в целом не является необязательным

Ответ 3

Надеюсь, мы сможем показать людям, что некоторые из этих библиотек устарели.

Теперь AppCompat следует использовать вместо устаревшего ActionbarSherlock.