在Android Studio和Gradle中使用ViewPagerIndicator库

我正在尝试使用Jake Wharton的ViewPagerIndicator库 ,但是我无法使用Android Studio中的Gradle项目工作。

我把它作为一个依赖添加如下:

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版本或在nineoldandroids的东西依赖性问题…?

我只是在maven中心推送一个版本,所以你只需要添加依赖:

 compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar' 

并且像这样声明maven中央:

 repositories { mavenCentral() } 

希望它有帮助…

晚会有点迟,但在这里:

杰克·沃顿(Jake Wharton)还没有把它作为一个公开发行。 有一个组虽然已经通过他们的服务器可用,你可以在你的build.gradle中设置它:

声明你的插件后,把它添加到你的源代码仓库中:

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

这将源自他们的Maven回购,其中包含他们放在一起包装的AAR。 一旦完成,您可以简单地将此行添加到您的依赖关系,一旦您将您的项目与您的gradle文件同步,一切都应该工作。

确保Maven Repo列在mavenCentral()条目的上方。 否则,它将首先查看maven的中央存储库并find错误的包。

Android Studio为项目生成两个build.gradle文件,确保你把它放在正确的位置!

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

我们在我们的应用程序中使用它,如果你想看到一个工作的例子:

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

我在Android Studio 0.8.2中使用gradle 0.10。+,接受的答案对我来说并不适用。 这些是我为了让ABS在我的项目中工作而必须做的轻微改变:

在你的项目的顶层build.gradle文件中,像下面这样在allprojectsconfiguration中添加maven仓库:

 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' } 

把它添加到你的应用程序模块的build.gradle文件中,如下所示:

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

我无法设法导入任何答案的项目。 我正在使用Android Studio 0.8.6和gradle 1.12。

我想出的唯一解决scheme就是从以下位置下载.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') } 

希望这可以帮助!

我按照这个做了诡计。 不需要导入库或什么都不需要。 只有两步和宾果,它完美的作品。

在build.gradle(Project:…)中:

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

在build.gradle(Module:app)中:

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

我正在使用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文件。

所以我还在android部分中添加了exclude 'AndroidManifest.xml' ,如下所示:

 android { packagingOptions { exclude 'AndroidManifest.xml' } 

然后它的工作。

请确保支持:support-v4在所有的库和应用程序中都是一样的,有时它会引起问题,所以在库和应用程序项目中使用相同的支持:support-v4。

标记为答案的post不适用于我… Gradle抱怨“拒绝连接”。

考虑到它看起来一直很稳定,我只需从https://bintray.com/populov/maven/com.viewpagerindicator:library下载aar文件,复制到我的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() } } 

并build立与依赖关系:

  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的答案:

  1. 从ViewPagerIndicator下载zip / tgz

  2. 在项目窗口中,select项目导航。

  3. 转到项目>新build>模块。

  4. 导入Gradle项目

  5. 浏览并select解压缩的库文件夹。 将模块命名为任何你想要的。 我把它命名为viewPagerIndicator

  6. 继续点击下一步,直到到达可点击Finish的最后一个窗口。 如果您获得Android Support Library is not installed消息,请不要担心。 只要继续,然后单击Finish

  7. 等待gradle构build和项目编译完成。 一旦完成,将其添加到build.gradle (Module:app)依赖项{..}中:

      compile project(':viewPagerIndicator') 

图书馆现在可供您使用。

请先检查一下

Android Studio – 意外的顶级例外:

如果这些检查确实如下所述。

无需将support-v4作为您的模块的依赖项,因为ViewPagerIndicator库已经具有support-v4作为其依赖项。 所以你可以尝试删除它,并使用工具栏中提供的小巧可爱的gradlebutton与gradle同步 –

在这里输入图像描述

如果您在同步时遇到任何错误,请更新您的问题。

更新 :

我不知道,但这可能是一个问题,我没有find任何基于Gradle的ViewPagerIndicator库。 JackWarton将gradle中的actionbarsherlock移除了,但ViewPagerIndicator仍然使用maven。

您可以直接在您的应用程序中包含ViewPagerIndicator库,如下所述

它使您能够将ViewPagerIndicator库作为“现有项目”导入到当前项目中。

对于我也是上述解决scheme没有工作。 但是这对我有效。

  1. 只需从这里Viewpagerindicator库包含所需的libabry

  2. 把它包含在你的应用程序模块的build.gradle中(你将不会有仓库,只是把它包含在依赖关系之上。

 repositories { flatDir{ dirs 'libs' } } 

总结一下:你可以在http://mvnrepository.com/中search“ViewPagerIndicator”,你会发现原来的com.viewpagerindicator没有红色标记“Android Packages”,所以你不能在Gradle中使用它。 你可以find另一个红色的标记,确保它与原来的版本相同。 (即有人创build一个基于原始的android包)