Использование библиотеки 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'
// ...
}
но проект, похоже, не распознает никаких компонентов в библиотеке. Мне интересно, есть ли проблема зависимости с разными версиями поддержки-v4 или что-то в nineoldandroids...?
18 ответов:
Я просто толкнул версию внутри maven central, поэтому вам нужно только добавить эту зависимость:
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'и объявить Maven central следующим образом:
repositories { mavenCentral() }надеюсь, что это помогает...
немного опоздал на вечеринку, но здесь:
Джейк Уортон не выпустил его в maven как aar. Есть группа, хотя это сделало aar из него доступным через их сервер, вы можете настроить его так в своей сборке.Gradle в:
добавьте это в исходные репозитории после объявления плагинов:
repositories { maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() }это будет источником их Maven repo, который содержит упакованный aar, который они собрали вместе. Как только это сделано, вы можете просто добавить эту строку ваши зависимости и все должно работать, как только вы синхронизируете свой проект с файлами gradle.
убедитесь, что РЕПО Maven указано выше
mavenCentral()запись. В противном случае он сначала посмотрит в Центральном репозитории maven и найдет неправильный пакет.Android Studio генерирует два
build.gradleфайлы для проектов, убедитесь, что вы положили это в правильном!dependencies { // ... compile 'com.viewpagerindicator:library:2.4.1@aar' // ... }мы используем его в нашем приложении, если вы хотите увидеть рабочий пример:
https://github.com/pandanomic/SUREwalk_android/blob/master/surewalk/build.gradle
Я использую 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' // ... }
Jitpack.io это большой для этой ситуации.
во-первых, добавьте следующий репозиторий:
repositories { // ... maven { url "https://jitpack.io" } }затем просто добавьте зависимость, указывающую на репозиторий GitHub:
dependencies { compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1@aar' }
добавьте это к вашим зависимостям в сборке вашего модуля приложения.gradle файл вот так:
dependencies { compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1' ... }
Я сделал трюк, следуя этому. Нет необходимости импортировать библиотеку или ничего. Всего два шага и бинго, он отлично работает.
в build.gradle (проект:...):
allprojects { repositories { ... maven { url "https://jitpack.io" } } }в build.gradle (модуль: приложение):
dependencies { compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1' }
мне не удалось импортировать проект ни с одним из ответов. Я использую 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') }надеюсь, что это помогает!
Я использую Studio 0.8.6 и Gradle 1.12
разница в моем проекте, возможно, заключалась в том, что я также использую библиотеки совместимости, которые заставили gradle жаловаться на наличие
support-v4lib дважды.поэтому мне пришлось исключить уже входит
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' } }тогда он также жаловался на то, что два раза.
поэтому я также добавил
exclude 'AndroidManifest.xml'наandroidраздел, как это:android { packagingOptions { exclude 'AndroidManifest.xml' }тогда это сработало.
пожалуйста, убедитесь, что поддержка:поддержка-v4 одинакова во всех библиотеках и вашем приложении, иногда это вызывает проблемы, поэтому используйте ту же поддержку:поддержка-v4 через библиотеки и ваш проект приложения.
сообщение, отмеченное как ответ, не сработало для меня...Gradle в жаловались на "соединение отклонено".
учитывая, что он выглядит стабильным после всего этого времени, я просто загружаю файл aar из https://bintray.com/populov/maven/com.viewpagerindicator:library, скопировано в мою папку libs и ссылается на нее следующим образом:
dependencies { ... compile 'com.viewpagerindicator:library:2.4.1@aar' }
это то, что сработало для меня:
repositories { jcenter() // maven { url "http://dl.bintray.com/populov/maven" } mavenCentral() }т. е. не используйте URL-адрес РЕПО.
затем использовать:
dependencie { .... compile 'com.mcxiaoke.viewpagerindicator:library:2.4.1@aar' .... }
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:2.4.1@aar' }
также попробуйте поставить 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' }
для разнообразия вот ответ, который не использует maven:
скачать zip/tgz от ViewPagerIndicator
в окне проект выберите пункт навигация по проекту.
перейти к проекту > создать > модуль.
Импорт Проекта Gradle
найдите и выберите папку распакованной библиотеки. Назовите модуль так, как вы хотите. Я назвал это
viewPagerIndicatorпродолжайте нажимать кнопку Далее, пока вы не дойдете до последнего окна, где
Finishкликабельна. Если вы получитеAndroid Support Library is not installedсообщение, Не волнуйтесь. Просто идите вперед и нажмитеFinish.дождитесь завершения сборки gradle и компиляции проекта. После завершения, добавьте это в зависимости { .. } в
build.gradle (Module:app):compile project(':viewPagerIndicator')библиотека теперь доступна для вашего пользования.
пожалуйста, проверьте это в первую очередь
Android Studio-неожиданное исключение верхнего уровня:
Если эти проверки в порядке, то сделайте упомянутый ниже.
нет необходимости включать поддержку-v4 в качестве зависимости вашего модуля, потому что библиотека ViewPagerIndicator уже имеет поддержку-v4 в качестве своей зависимости. Таким образом, вы можете попытаться удалить это и сделать синхронизацию с gradle, используя крошечную прекрасную кнопку gradle, доступную на панели инструментов -
обновить вопрос, если вы получаете какие-либо ошибки в синхронизации.
обновление :
Я не уверен, но это может быть проблемой, я не нашел библиотеки ViewPagerIndicator на основе gradle. JackWarton переместил actionbarsherlock в gradle, но ViewPagerIndicator все еще использует maven.
вы можете просто включить библиотеку ViewPagerIndicator непосредственно в вашем приложении, как описано здесь
Это позволяет импортировать библиотеку ViewPagerIndicator как "существующий проект" в текущий проект.
для меня также ни одно из вышеперечисленных решений не сработало. Но это сработало для меня.
просто включите необходимую librabry отсюда Библиотека Viewpagerindicator
включите это в сборку вашего модуля приложения.gradle (у вас не будет репозитория, просто включите его выше зависимостей.
repositories { flatDir{ dirs 'libs' } }
- добавьте это в свой зависимости.
compile (name:'library-2.4.1',ext:'aar')
подводя итог: вы можете искать "ViewPagerIndicator" вhttp://mvnrepository.com/, вы узнаете оригинальный com.viewpagerindicator не имеет красного маркера "пакеты Android", поэтому вы не можете использовать его с Gradle. Вы можете найти еще один с красным маркером, убедитесь, что он имеет ту же версию, что и оригинал. (т. е. кто-то создает пакет android на основе оригинального)

Comments