Зависимость ViewPagerIndicator от Gradle и Android Studio

Я только что перешел с Eclipse на Android Studio, и у меня возникли проблемы с моим проектом, в котором используется ViewPagerIndicator.

Это код Gradle:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.viewpagerindicator:library:2.4.1'
    compile 'com.android.support:support-v4:19.0.+'
    compile 'com.android.support:appcompat-v7:19.0.+'
}

Когда я пытаюсь собрать проект, Android Studio возвращает мне эту ошибку:

LoadViewPagerTask.java
    Error:Error:line (30)error: package com.viewpagerindicator does not exist
    Error:Error:line (82)error: cannot find symbol class TitlePageIndicator
    Error:Error:line (82)error: cannot find symbol class TitlePageIndicator

Другими словами, библиотека не была импортирована. Любое решение? Спасибо за внимание.


person Gnufabio    schedule 02.03.2014    source источник
comment
возможный дубликат Использование библиотеки ViewPagerIndicator с Android Studio и Gradle   -  person kar    schedule 02.03.2014
comment
нет, в этом посте нет решения моей проблемы   -  person Gnufabio    schedule 02.03.2014


Ответы (2)


Джейк Уортон не выпустил его в maven как aar. Однако есть группа, которая сделала его доступным через свой сервер, вы можете настроить его следующим образом в своем build.gradle:

Добавьте это в свои исходные репозитории после того, как объявите свои плагины:

repositories {
    maven { url "http://dl.bintray.com/populov/maven" }
    mavenCentral()
}

Это будет источник их репозитория maven, который содержит упакованный файл aar, который они собрали. Как только это будет сделано, вы можете просто добавить эту строку в свои зависимости, и все должно работать после синхронизации вашего проекта с вашими файлами gradle.

dependencies {
    // ...
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    // ...
}

Мы используем его в нашем приложении, если вы хотите увидеть рабочий пример: https://github.com/pandanomic/SUREwalk_android/blob/master/surewalk/build.gradle

РЕДАКТИРОВАТЬ: Android Studio теперь создает два файла build.gradle для проектов, убедитесь, что вы указали правильный!

person Zac Sweers    schedule 02.03.2014
comment
Я пробовал, но получаю аналогичную ошибку на других страницах - Артефакт 'com.view...:library.aar' не найден. посмотрел на вашу сборку gradle и почти точно скопировал ее, но не повезло, но я также заметил, что ur build.gradle даже не имеет компиляции «com.android.support:support-v4:19.0.1», так что вы даже используете библиотеку поддержки или он просто автоматически поступает из других библиотек? - person trippedout; 28.03.2014
comment
Библиотека поддержки подключается через actiobarsherlock. Я попробую репозиторий позже сегодня вечером или завтра, возможно, они его перенесли. Вы уверены, что помещаете его в правильный файл сборки? Смотрите мое редактирование - person Zac Sweers; 28.03.2014
comment
Модуль, который требует этого, будь то ваше приложение или библиотека - person Zac Sweers; 01.04.2014
comment
Получил работу. В корне build.gradle allprojects { репозитории { maven { url dl.bintray.com/populov/maven } mavenCentral() } } и в build.gradle приложения вы можете установить компиляцию aar. - person level32; 01.04.2014
comment
Важно отметить, что maven { url "dl.bintray.com/populov/maven"; } должен идти перед mavenCentral(), чтобы он переопределял запись там. - person John Hamelink; 14.06.2014
comment
Мне не повезло, и я все равно получаю сообщение об ошибке Ошибка: Артефакт «library.aar (com.viewpagerindicator:library:2.4.1)» не найден. Поиск выполнялся в следующих местах: jcenter.bintray. com/com/viewpagerindicator/library/2.4.1/. Уже попробовали предложение @level32 - person Plugie; 07.02.2015

Вы не можете использовать его с gradle.

compile 'com.viewpagerindicator:library:2.4.1'

Проверьте в Maven:

http://search.maven.org/#artifactdetails%7Ccom.viewpagerindicator%7Clibrary%7C2.4.1%7Capklib

Он не имеет формата aar. Он имеет формат apklib.

    <artifactId>library</artifactId>
    <name>Android-ViewPagerIndicator</name>
    <packaging>apklib</packaging>

В качестве альтернативы вы можете создать его локально или использовать aar, предоставленный третьими сторонами.

person Gabriele Mariotti    schedule 02.03.2014