it-swarm.com.ru

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

Я пытаюсь использовать библиотеку ViewPagerIndicator Джейка Уортона , но мне не удается заставить ее работать с моим проектом 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'
       // ...
    }

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

113
loeschg

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

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

И объявите Maven Central, как это:

repositories {
    mavenCentral()
}

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

195
avianey

Немного опоздал на вечеринку, но тут

Джейк Уортон не выпустил его в 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

147
Zac Sweers

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

В файле 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'
   // ...
}
56
mugiwarapy

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

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

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

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

dependencies {
    compile 'com.github.JakeWharton:ViewPagerIndicator:[email protected]'
}
47
Juan Andrés Diana

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

dependencies {
   compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
   ...
}
25
Md Yusuf Alam

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

В build.gradle (проект: ...):

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

В build.gradle (Модуль: приложение):

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

Мне не удалось импортировать проект ни с одним из ответов. Я использую 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') 
  }

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

5
vrunoa

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

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

Поэтому мне пришлось исключить уже включенный 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'
    }

Тогда это сработало.

4
Jens

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

3
Jitesh Upadhyay

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

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

dependencies {
...
compile 'com.viewpagerindicator:library:[email protected]'
}
3
devguy
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]'
    }
2
Sam

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

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

т.е. не используйте URL репо.

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

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

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

  1. Загрузить Zip/tgz с ViewPagerIndicator

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

  3. Перейти в проект> Новый> Модуль.

  4. Импортировать Gradle Project

  5. Найдите и выберите распакованную папку библиотеки. Назовите модуль как хотите. Я назвал это viewPagerIndicator

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

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

     compile project(':viewPagerIndicator')
    

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

2
Flame of udun

Также попробуйте поставить хранилище 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'
}
2
ODAXY

У него проблема с более новым gradle . Просто измените зависимость, как показано ниже.

implementation 'com.inkapplications.viewpageindicator:library:2.4.3'
0
Rajan Kashiyani

Для меня ни одно из вышеперечисленных решений не сработало. Но это сработало для меня.

  1. Просто включите необходимую библиотеку отсюда Библиотека Viewpagerindicator

  2. Включите это в build.gradle модуля вашего приложения (у вас не будет хранилища, просто включите его над зависимостями).

repositories {
    flatDir{
        dirs 'libs'
    }
}

  1. добавьте это в свои зависимости.

compile (name:'library-2.4.1',ext:'aar')

0
Uday Ramjiyani

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

Это позволяет вам импортировать библиотеку ViewPagerIndicator как «Существующий проект» в ваш текущий проект.

0
Babatunde Adeyemi

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

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

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

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

enter image description here

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

ОБНОВЛЕНО:

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

0
pyus13

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

0
cn123h