在Android Studio和Gradle中使用ViewPagerIndicator库

loe*_*chg 115 android gradle viewpagerindicator android-studio

我正在尝试使用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'
       // ...
    }
Run Code Online (Sandbox Code Playgroud)

但该项目似乎无法识别库中的任何组件.我想知道不同的support-v4版本是否存在依赖性问题,或者是九折机器人的某些东西......?

avi*_*ney 196

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

compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
Run Code Online (Sandbox Code Playgroud)

并宣布maven中心是这样的:

repositories {
    mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你...

  • 谢谢.我不想在我的构建脚本中添加一些随机的maven存储库.这要好得多. (4认同)
  • fr.avianey.com.viewpagerindicator:library:2.4.1@aar - 你错过了@aar (2认同)

Zac*_*ers 147

派对有点晚了,但在这里:

杰克沃顿并未将其作为aar发布在maven中.虽然已经通过他们的服务器提供了一个组,但是你可以在build.gradle中将它设置为这样:

在声明插件后将其添加到源存储库:

repositories {
    maven { url "http://dl.bintray.com/populov/maven" }
    mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)

这将采购他们的maven回购,其中包含他们放在一起的打包的aar.完成后,您只需将此行添加到您的依赖项中,一旦您将项目与gradle文件同步,一切都可以正常工作.

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

Android Studio build.gradle为项目生成两个文件,请确保将其放在正确的文件中!

dependencies {
    // ...
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果您想查看一个有效的示例,我们会在我们的应用中使用它:

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

  • 注意现在的依赖性是**编译 'com.viewpagerindicator:库:2.4.1'**[参考:] http://mvnrepository.com/artifact/com.viewpagerindicator/library/2.4.1 (67认同)
  • 经过大量的捣乱,我发现最新版本的android studio生成项目有两个gradle文件 - 一个在app/build.gradle内,一个在/build.gradel - 根目录中的那个可以添加常见的配置选项到所有子项目/模块.您需要在顶级build.gradle中放置:allprojects {repositories {maven {url"http://dl.bintray.com/populov/maven"} mavenCentral()}}以使其正常工作 (30认同)
  • 谢谢!只是想说明bintray repo必须高于mavenCentral().您可以阅读:http://blog.haunted-soft.com/2013/10/viewpagerindicator-aar-packaged.html (5认同)
  • 这似乎不再起作用 - 我按照步骤操作,当android studio刷新项目时,我得到"Gradle'XYZ'项目刷新失败:Artifact'com.viewpagerindicator:library:2.4.1:library.aar'not found. (5认同)
  • @OlegVaskevich你正在尝试编译错误的库.您需要在上面的答案中指定的bintray仓库中使用aar.在这个帖子中有相当多的错误信息没有得到人们对我的回答进行错误编辑的帮助. (4认同)
  • @RicardoPessoa你错了.它与aar列出的全部原因是因为mavencentral中的那个是apklib并且没有.通过在mavenCentral()之前指定bintray repo,它将在那里使用aar one.此外,对于没有先检查的编辑它的人,请在编辑之前更加彻底. (3认同)

小智 56

我正在使用gradle 0.10.+使用Android Studio 0.8.2并且接受的答案对我不起作用.这些是为了让ABS在我的项目中工作所必须做的微小改动:

在项目的顶级build.gradle文件中,在allprojects配置中添加maven存储库,如下所示:

allprojects {
   repositories {
      maven { url "http://dl.bintray.com/populov/maven" }
      mavenCentral()
   }
}
Run Code Online (Sandbox Code Playgroud)

并在模块的build.gradle文件中添加依赖项,而不是@aar:

dependencies {
   // ...
   compile 'com.viewpagerindicator:library:2.4.1'
   // ...
}
Run Code Online (Sandbox Code Playgroud)


Jua*_*ana 48

Jitpack.io伟大的这种情况.

首先,添加以下存储库:

repositories {
    // ...
    maven { url "https://jitpack.io" }
}
Run Code Online (Sandbox Code Playgroud)

然后,只需添加指向GitHub仓库的依赖项:

dependencies {
    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1@aar'
}
Run Code Online (Sandbox Code Playgroud)


小智 26

将其添加到app模块的build.gradle文件中的依赖项中,如下所示:

dependencies {
   compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
   ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案.截至本答复的日期,其他答案都是矫枉过正. (2认同)

Par*_*dik 8

我按照这个做了诀窍.无需导入库或什么都不需要.只需两步和宾果游戏,它完美无缺.

在build.gradle(Project:...)中:

allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }
Run Code Online (Sandbox Code Playgroud)

在build.gradle(Module:app)中:

dependencies {
            compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    }
Run Code Online (Sandbox Code Playgroud)


vru*_*noa 5

我无法用任何答案导入项目.我正在使用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') 
  }
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 只是为了澄清,`library-2.4.1.aar`需要放在你的模块的`libs`目录中,如果它还不存在你应该创建它. (2认同)