Использование библиотеки ViewPagerIndicator с Android Studio и Gradle

Я пытаюсь использовать Jake Wharton ViewPagerIndicator library, но я не могу заставить его работать с моим проектом Gradle в Android Studio.

Я добавляю его как зависимость так:

    dependencies {
       // ... other ommitted
       compile 'com.viewpagerindicator:library:2.4.1'
       compile 'com.android.support:support-v4:19.0.1'
       compile 'com.nineoldandroids:library:2.4.0'
       // ...
    }

но проект, похоже, не распознает какие-либо компоненты в библиотеке. Мне интересно, есть ли проблема с зависимостями с различными версиями поддержки-v4 или что-то в девятидюймородах...?

Ответ 1

Я просто нажал версию внутри центрального центра, поэтому вам нужно только добавить эту зависимость:

compile 'fr.avianey.com.viewpagerindicator:library:[email protected]'

И объявите maven центральным следующим образом:

repositories {
    mavenCentral()
}

Надеюсь, что это поможет...

Ответ 2

Немного поздно для вечеринки, но здесь:

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

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

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

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

Убедитесь, что Maven Repo указан над записью mavenCentral(). В противном случае он сначала заглянет в центральный репозиторий maven и найдет неправильный пакет.

Android Studio генерирует два build.gradle файла для проектов, убедитесь, что вы поместили их в нужное!

dependencies {
    // ...
    compile 'com.viewpagerindicator:library:[email protected]'
    // ...
}

Мы используем его в нашем приложении, если вы хотите увидеть рабочий пример:

https://github.com/pandanomic/SUREwalk_android/blob/master/surewalk/build.gradle

Ответ 3

Я использую gradle 0.10. + с Android Studio 0.8.2, и принятый ответ не работает для меня. Это небольшие изменения, которые мне пришлось сделать, чтобы заставить ABS работать в моем проекте:

В файле верхнего уровня build.gradle вашего проекта добавьте репозиторий maven в конфигурацию allprojects следующим образом:

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

И в модуле build.gradle файл добавить зависимость без @aar:

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

Ответ 4

Jitpack.io для этой ситуации отлично.

Сначала добавьте следующий репозиторий:

repositories {
    // ...
    maven { url "https://jitpack.io" }
}

Затем просто добавьте зависимость, указывающую на репозиторий GitHub:

dependencies {
    compile 'com.github.JakeWharton:ViewPagerIndicator:[email protected]'
}

Ответ 5

Добавьте это в свои зависимости в файле build.gradle вашего модуля приложения так:

dependencies {
   compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
   ...
}

Ответ 6

Я сделал трюк, следуя этому. Нет необходимости импортировать библиотеку или ничего. Всего два шага и бинго, он отлично работает.

В build.gradle(Project:...):

allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

В build.gradle(Module: app):

dependencies {
            compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    }

Ответ 7

Мне не удалось импортировать проект с любыми ответами. Я использую Android Studio 0.8.6 и gradle 1.12.

Единственное решение, с которым я столкнулся, - это загрузить библиотеку .aar:

http://dl.bintray.com/populov/maven/com/viewpagerindicator/library/2.4.1/

а затем импортируйте библиотеку в gradle следующим образом:

 repositories {
      flatDir {
        dirs 'libs'}
   }

 dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile(name:'library-2.4.1', ext:'aar') 
  }

Надеюсь, это поможет!

Ответ 8

Я использую Studio 0.8.6 и Gradle 1.12

Разница в моем проекте, возможно, заключалась в том, что я также использую библиотеки совместимости, которые заставляли Gradle жаловаться на наличие support-v4 lib дважды.

Поэтому мне пришлось исключить уже включенный support-v4 следующим образом:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'    
    compile ('com.viewpagerindicator:library:2.4.1') {
        exclude module: 'support-v4'
    }
}

Затем он также жаловался на наличие файла AndroidManifest.xml дважды.

Итак, я добавил exclude 'AndroidManifest.xml' в раздел android следующим образом:

android {
    packagingOptions {
        exclude 'AndroidManifest.xml'
    }

Затем он работал.

Ответ 9

пожалуйста, убедитесь, что поддержка: support-v4 одинакова во всех libs и вашем приложении, иногда она вызывает проблему, поэтому используйте ту же поддержку: support-v4 через libs и ваш проект приложения.

Ответ 10

Сообщение, помеченное как ответ, не сработало для меня... Грэдл жаловался на "Соединение отказалось".

Учитывая, что он выглядит стабильным после всего этого времени, я просто загружаю aar файл из https://bintray.com/populov/maven/com.viewpagerindicator: library, скопированный в мою папку libs и ссылающийся на нее так:

dependencies {
...
compile 'com.viewpagerindicator:library:[email protected]'
}

Ответ 11

Это то, что сработало для меня:

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

i.e, не используйте URL-адрес репо.

затем используйте:

dependencie {
    ....
    compile 'com.mcxiaoke.viewpagerindicator:library:[email protected]'
    ....
}

Ответ 12

Add it in your build.gradle at the end of repositories:
Ste 1
 repositories {
        // ...
        maven { url "https://jitpack.io" }
    }
Step 2. Add the dependency in the form

    dependencies {
            compile 'com.github.JakeWharton:ViewPagerIndicator:[email protected]'
    }

Ответ 13

Также попробуйте установить maven-репозиторий перед другими.

 buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

И постройте с зависимостями:

  apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId ""
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.viewpagerindicator:library:2.4.1'
}

Ответ 14

Для разнообразия вот ответ, который не использует maven:

  • Загрузить zip/tgz из ViewPagerIndicator

  • В окне проекта выберите навигацию по проекту.

  • Перейдите в проект > Создать > Модуль.

  • Импорт Gradle Проект

  • Перейдите в папку распакованной библиотеки и выберите ее. Назовите модуль так, как хотите. Я назвал его viewPagerIndicator

  • Продолжайте нажимать дальше, пока не дойдете до последнего окна, где Finish можно щелкнуть. Если вы получили сообщение Android Support Library is not installed, не беспокойтесь. Просто нажмите Finish.

  • Дождитесь завершения компиляции Gradle и компиляции проекта. После завершения добавьте это к зависимостям {..} в build.gradle (Module:app):

     compile project(':viewPagerIndicator')
    

Библиотека теперь доступна для вашего использования.

Ответ 15

Пожалуйста, проверьте этот первый

Android Studio - НЕОПРЕДЕЛЕННОЕ ИСКЛЮЧЕНИЕ ТОП-УРОВНЯ:

если эти проверки в порядке, упомянутые ниже.

Не нужно включать поддержку-v4 в зависимость от вашего модуля, потому что библиотека ViewPagerIndicator уже имеет поддержку-v4 в качестве ее зависимости. Таким образом, вы можете попытаться удалить это и выполнить синхронизацию с gradle с помощью крошечной симпатичной кнопки gradle, доступной на панели инструментов -

enter image description here

Обновите свой вопрос, если вы получаете какую-либо ошибку при синхронизации.

ОБНОВЛЕНО:

Я не уверен, но может быть проблемой. Я не нашел ни одной библиотеки ViewPagerIndicator на основе gradle. JackWarton переместил actionbarsherlock в gradle, но ViewPagerIndicator все еще использует maven.

Ответ 16

Вы можете просто включить библиотеку ViewPagerIndicator прямо в ваше приложение, как описано здесь

Он позволяет вам импортировать библиотеку ViewPagerIndicator в качестве "существующего проекта" в ваш текущий проект.

Ответ 17

Для меня также любое из вышеуказанных решений не сработало. Но это сработало для меня.

  • Просто включите требуемый librabry отсюда Библиотека Viewpagerindicator

  • Включите это в свой модуль приложения build.gradle(у вас не будет репозитория, просто включите его в зависимости от зависимостей.

repositories {
    flatDir{
        dirs 'libs'
    }
}

Ответ 18

Подводя итог: вы можете искать "ViewPagerIndicator" в http://mvnrepository.com/, вы обнаружите, что оригинальный com.viewpagerindicator не имеет красный маркер "Android Packages", поэтому вы не можете использовать его с помощью Gradle. Вы можете найти еще один красный маркер, убедитесь, что он имеет ту же версию, что и оригинальная. (т.е. кто-то создает пакет андроидов на основе оригинала)