在 Android Studio 和 Gradle 中使用 ViewPagerIndicator 库

我正在尝试使用杰克沃顿的 ViewPagerIndicator 库,但我无法让它与我在 Android 工作室的 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'
// ...
}

但是这个项目似乎不能识别库中的任何组件。我想知道是否存在不同支持版本的依赖性问题—— v4版本还是其他九代机器人?

100525 次浏览

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

请先检查一下这个

Android Studio-意想不到的顶级例外:

如果这些支票是可以的,请在下面提到。

不需要将 support-v4作为模块的依赖项,因为 ViewPagerIndicator 库已经将 support-v4作为其依赖项。因此,你可以尝试删除,并做同步与梯度使用小可爱的梯度按钮可在工具栏-

enter image description here

如果在同步中出现任何错误,请更新您的问题。

更新:

我不确定,但这可能是一个问题,我没有找到任何基于分级的 ViewPagerIndicator 库。JackWarton 已经移动了分级锁,但 ViewPagerIndicator 仍然使用专家。

有点晚了,但是这里:

Jake Wharton hasn't released it in maven as an aar. There's a group though that has made an aar of it available through their server, you can set it up like this in your build.gradle:

在声明插件之后,将其添加到源代码库:

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

This will source their maven repo, which contains a packaged aar that they put together. Once that's done, you can simply add this line to your dependencies and everything should work once you sync your project with your gradle files.

Make sure that the Maven Repo is listed above the mavenCentral() entry. Otherwise, it will first look in maven's central repository and find the wrong package.

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

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

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

Https://github.com/pandanomic/surewalk_android/blob/master/surewalk/build.gradle

标记为回答的帖子对我不起作用... ... 格拉德尔抱怨说“连接被拒绝了”。

考虑到它看起来很稳定,我只是从 https://bintray.com/populov/maven/com.viewpagerindicator:library下载了 aar 文件,复制到我的 libs 文件夹中,然后像这样引用它:

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

我用的是0.10级。+ 与 Android Studio 0.8.2和接受的答案不适合我。为了让 ABS 在我的项目中工作,我不得不做一些小小的改变:

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

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

在模块的 build.gradle文件中添加不带 @aar的依赖项:

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

我无法设法导入带有任何答案的项目。我使用的是 Android Studio 0.8.6和1.12级。

我想到的唯一解决方案是从以下网址下载. aar 库:

http://dl.bintray.com/populov/maven/com/viewpagerindicator/library/2.4.1/

然后像这样逐级导入图书馆:

 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-v4库两次。

So I had to exclude the already included support-v4 like this:

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

Then it also complained about having the AndroidManifest.xml file twice.

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

android {
packagingOptions {
exclude 'AndroidManifest.xml'
}

那就成功了。

您可以像描述的 给你那样直接在应用程序中包含 ViewPagerIndicator 库

它允许您将 ViewPagerIndicator 库作为“现有项目”导入到当前项目。

我只是把一个版本推到了 Maven 中心,所以你只需要添加这个依赖项:

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

宣布 Maven 为中心:

repositories {
mavenCentral()
}

希望能帮上忙。

在这种情况下,Jitpack.io 很好

首先,添加以下存储库:

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

然后,添加指向 GitHub 回购的依赖项:

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

这就是对我有效的方法:

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

即不要使用回购网址。

然后使用:

dependencie {
....
compile 'com.mcxiaoke.viewpagerindicator:library:2.4.1@aar'
....
}

对我来说,上面的任何一个解决方案都不起作用,但是这个方法对我起作用了。

  1. 从这里只包含所需的库 浏览器指示器库

  2. 将其包含在应用程序模块的 build.gradle 中(在那里不会有存储库,只需将其包含在依赖项之上即可。

repositories {
flatDir{
dirs 'libs'
}
}

  1. 将此添加到依赖项中。

compile (name:'library-2.4.1',ext:'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'
}

总而言之: 你可以在 http://mvnrepository.com/中搜索“ ViewPagerIndicator”,你会发现原来的 com.viewpagerIndicator 没有红色标记“ Android Packages”,所以你不能在 Gradle 中使用它。你可以找到另一个有红色标记的,确保它与原来的版本相同。(例如,有人在原来的基础上创建了一个 android 软件包)

For the sake of variety here is an answer that doesn't use maven:

  1. ViewPagerIndicator下载 zip/tgz

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

  3. 转到 project > New > Module。

  4. 进口分级项目

  5. 浏览并选择解压缩的库文件夹。你可以随意命名这个模块。我把它命名为 viewPagerIndicator

  6. 接下来继续单击,直到到达可以单击 Finish的最后一个窗口。如果您收到 Android Support Library is not installed消息,不要担心。继续按 Finish

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

     compile project(':viewPagerIndicator')
    

The library is now available for your use.

我按照这个做了。不需要导入库或什么都不需要。只需要走两步,就搞定了,非常完美。

在 build.gradle (项目: ...)中:

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

在 build.gradle (模块: app)中:

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

将它添加到应用程序模块的 build.gradle 文件中的依赖项,如下所示:

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

它有一个较新的等级的问题。 只需像下面这样改变依赖关系。

implementation 'com.inkapplications.viewpageindicator:library:2.4.3'