在Android Studio和Gradle中使用ViewPagerIndicator库

时间:2014-01-15 05:50:16

标签: android gradle android-studio viewpagerindicator

我正在尝试使用Jake Wharton的ViewPagerIndicator library,但我无法在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版本是否存在依赖性问题,或者是九折机器人的某些东西......?

18 个答案:

答案 0 :(得分:195)

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

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

并像这样宣布maven中心:

repositories {
    mavenCentral()
}

希望它有所帮助...

答案 1 :(得分:147)

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

杰克沃顿没有把它作为aar的maven发布。虽然有一个小组已经通过他们的服务器提供了它,你可以在build.gradle中设置它:

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

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

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

确保Maven Repo列在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

答案 2 :(得分: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()
   }
}

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

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

答案 3 :(得分:48)

对于这种情况,

Jitpack.io 很棒

首先,添加以下存储库:

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

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

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

答案 4 :(得分:25)

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

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

答案 5 :(得分:6)

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

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

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

在build.gradle(Module:app)中:

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

答案 6 :(得分: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') 
  }

希望这有帮助!

答案 7 :(得分:4)

我正在使用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'
    }

然后它奏效了。

答案 8 :(得分:3)

请确保支持:support-v4在所有lib和你的应用程序中是相同的,有时它会导致问题所以使用相同的支持:lib-support和你的app项目支持-v4。

答案 9 :(得分:3)

标记为答案的帖子对我不起作用...... Gradle抱怨" Connection拒绝"。

考虑到它在所有这段时间后看起来都很稳定,我只需从https://bintray.com/populov/maven/com.viewpagerindicator:library下载aar文件,复制到我的libs文件夹中,并像这样引用它:

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

答案 10 :(得分:2)

这对我有用:

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

即,请勿使用repo URL。

然后使用:

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

答案 11 :(得分:2)

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

答案 12 :(得分:2)

还尝试将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'
}

答案 13 :(得分:2)

为了多样化,这里有一个不使用maven的答案:

  1. ViewPagerIndicator

  2. 下载zip / tgz
  3. 在项目窗口中,选择项目导航。

  4. 转到项目>新>模块。

  5. 导入Gradle项目

  6. 浏览并选择解压缩的库文件夹。将模块命名为您想要的任何名称。我将其命名为viewPagerIndicator

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

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

     compile project(':viewPagerIndicator')
    
  9. 图书馆现在供您使用。

答案 14 :(得分:0)

它有更新的gradle问题。 只需更改如下所示的依赖项即可。

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

答案 15 :(得分:0)

总结一下:你可以在http://mvnrepository.com/中搜索“ViewPagerIndicator”,你会发现原来的com.viewpagerindicator没有红色标记“Android Packages”,因此你不能将它与Gradle一起使用。您可以使用红色标记找到另一个,确保它与原始标记具有相同的版本。 (即某人根据原始的创建一个android包)

答案 16 :(得分:0)

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

它使您可以将ViewPagerIndicator库作为“现有项目”导入当前项目。

答案 17 :(得分:0)

请先检查一下

Android Studio - UNEXPECTED TOP-LEVEL EXCEPTION:

如果这些检查没问题,请参阅下文。

不需要将support-v4作为模块的依赖项包含,因为ViewPagerIndicator库已经将support-v4作为其依赖项。所以你可以尝试删除它并使用工具栏中提供的微小可爱的gradle按钮与gradle同步 -

enter image description here

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

更新:

我不确定但是这可能是一个问题我找不到任何基于gradle的ViewPagerIndicator库。 JackWarton已经将actionbarsherlock移动到gradle中,但ViewPagerIndicator仍在使用maven。