将ViewPagerIndicator添加到Android Studio

car*_*ger 28 android gradle viewpagerindicator android-studio

我试图让Jake Wharton的ViewPagerIndicator与Android Studio合作,但遗憾的是它不起作用.
我从这里下载了.aar文件并将其包含在我的libs文件夹中.
我像这样引用它:

compile files('src/main/libs/viewpagerindicator_2.4.1.aar')
Run Code Online (Sandbox Code Playgroud)

Android Studio给出了以下错误:

Error:duplicate files during packaging of APK
Run Code Online (Sandbox Code Playgroud)

我不熟悉gradle,当它给我这个错误时不知道该怎么办.
你能帮帮我一下吗?

这是我的完整build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "de.xxx"
        minSdkVersion 15
        targetSdkVersion 19
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    buildTypes {
     release {
     runProguard false
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
    }
}

dependencies {
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.github.amlcurran.showcaseview:library:5.0.0'
    compile files('src/main/libs/PdfViewer.jar')
    compile files('src/main/libs/viewpagerindicator_2.4.1.aar')
}
Run Code Online (Sandbox Code Playgroud)

Víc*_*tos 73

UPDATE

根据Jürgen'Kashban'Wahlmann给出答案,现在可以通过gradle添加ViewPagerIndicator:

顶级Build.gradle:

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

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

App的build.gradle:

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

此外,根据Enrico Susatyo给出答案,现在似乎可以从Jitpack maven存储库下载库.做到如下:

在root build.grade中:

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

在项目build.grade中:

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

------------

要在Android Studio中使用Android-ViewPagerIndicator,您无法从gradle下载它.相反,您必须将库作为"现有项目"导入到当前项目中.

跟着这些步骤:

#1 从GitHub 下载源代码.

#2在Android Studio项目中:文件 - >项目结构 - >添加(+符号) - >导入现有项目.只导入名为"library"的文件夹,而不是整个项目(保留导入选项,如Android Studio所示).

#3如果build.gradle中指定的"compileSdkVersion"与Android-ViewPagerIndicator项目中指定的"compileSdkVersion"不匹配,请更改第二个.这同样适用于任何其他属性,例如"minSdkVersion"甚至是当前的支持库.

#4将Android-ViewPagerIndicator项目添加为build.gradle模块的依赖项:

dependencies {
    compile project(':library')
}
Run Code Online (Sandbox Code Playgroud)

#5使用gradle文件同步项目.


Jür*_*ann 66

它可以像Gradle一样导入:

顶级Build.gradle:

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

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

在App的build.gradle中,将其添加到依赖项部分:

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

(添加@aar以避免"不支持apklib包装错误")

对我来说很好.

  • 做得好!这个答案应该标记为"正确". (2认同)

Enr*_*tyo 44

截至今天(2016年3月),Jitpack的maven repos为我工作:https://jitpack.io/#JakeWharton/ViewPagerIndicator/2.4.1/aar

在root中build.gradle:

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

在项目中build.gradle:

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

  • 希望我可以投票更多!谢谢! (3认同)