Использование библиотеки 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. Вы можете найти еще один красный маркер, убедитесь, что он имеет ту же версию, что и оригинальная. (т.е. кто-то создает пакет андроидов на основе оригинала)