首页 文章

在Android Studio和Gradle中使用ViewPagerIndicator库

提问于
浏览
113

我'm trying to use Jake Wharton' s 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版本是否存在依赖性问题,或者是九折机器人的某些东西......?

19 回答

  • 0

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

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

    并宣布maven中心是这样的:

    repositories {
        mavenCentral()
    }
    

    希望能帮助到你...

  • 0

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

    杰克沃顿并未将其作为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

  • 25

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

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

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

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

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

    对于这种情况,Jitpack.iogreat .

    首先,添加以下存储库:

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

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

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

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

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

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

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

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

    在build.gradle(Module:app)中:

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

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

    希望这可以帮助!

  • 195

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

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

    android {
        packagingOptions {
            exclude 'AndroidManifest.xml'
        }
    

    然后它奏效了 .

  • 47

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

  • 0

    标记为答案的帖子对我不起作用...... Gradle抱怨“拒绝连接” .

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

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

    这对我有用:

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

    即,不要使用repo URL .

    然后使用:

    dependencie {
        ....
        compile 'com.mcxiaoke.viewpagerindicator:library:2.4.1@aar'
        ....
    }
    
  • 3
    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'
        }
    
  • 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'
    }
    
  • 4

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

    • ViewPagerIndicator下载zip / tgz

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

    • 转到项目>新建>模块 .

    • 导入Gradle项目

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

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

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

    compile project(':viewPagerIndicator')
    

    该库现在可供您使用 .

  • 3

    请先检查一下

    Android Studio - UNEXPECTED TOP-LEVEL EXCEPTION:

    如果这些检查没问题,请在下面提到 .

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

    enter image description here

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

    UPDATED :

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

  • 147

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

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

  • 6

    对我来说,任何上述解决方案都没有奏效 . 但这对我有用 .

    • 只需在此处输入所需的图书馆Viewpagerindicator Library

    • 在你的app模块的build.gradle中包含它(你不会在那里有存储库,只是将它包含在依赖项之上) .

    repositories {
        flatDir{
            dirs 'libs'
        }
    }
    
    • 将此添加到您的依赖项中 .
    compile (name:'library-2.4.1',ext:'aar')
    
  • 56

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

  • 5

    它有一个更新的问题 . 只需改变下面的依赖关系 .

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

相关问题