Android Studio-模块NumericPageIndicator嵌套依赖项

Android Studio-模块NumericPageIndicator嵌套依赖项,android,maven,intellij-idea,gradle,android-studio,Android,Maven,Intellij Idea,Gradle,Android Studio,我一直试图从Eclipse迁移到Android Studio,但和其他许多人一样,我也遇到了依赖性问题。我希望有人在IntelliJ方面有更多的经验来帮助我 我有一个可以工作的应用程序(在Eclipse中),它有一些简单的依赖项,大部分是独立的JAR,可以轻松移植。随着时间的推移,我可能会用Gradle/Maven替换这些,但现在罐子就可以了 然而,我也有一个图书馆项目,这反过来也是一个图书馆项目 就是这个图书馆,我似乎无法导入 我尝试将其添加为一个简单的Maven依赖项: 仅限第一个Numer

我一直试图从Eclipse迁移到Android Studio,但和其他许多人一样,我也遇到了依赖性问题。我希望有人在IntelliJ方面有更多的经验来帮助我

我有一个可以工作的应用程序(在Eclipse中),它有一些简单的依赖项,大部分是独立的JAR,可以轻松移植。随着时间的推移,我可能会用Gradle/Maven替换这些,但现在罐子就可以了

然而,我也有一个图书馆项目,这反过来也是一个图书馆项目

就是这个图书馆,我似乎无法导入

我尝试将其添加为一个简单的Maven依赖项:

  • 仅限第一个NumericPageIndicator:编译'com.github.manuelpeinado.NumericPageIndicator:库:1.1.1'
  • 其次还有Android ViewPagerIndicator:compile'com.ViewPagerIndicator:library:2.4.1'
  • 这两种方法都会导致编译错误,表明这些库没有(正确地)包含在内

    我也没有在“ExternalLibraries”标题下看到这两个Maven导入。当我进入JAR列表下的
    projectstructure->Modules->dependentials
    时,我确实看到了它们

    目前我的全部gradle文件如下:

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.6.+'
        }
    }
    apply plugin: 'android'
    
    repositories {
        mavenCentral()
    }
    
    android {
        compileSdkVersion 19
        buildToolsVersion '19.0.0'
    
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 19
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
        buildTypes {
            release {
                runProguard false
                proguardFile getDefaultProguardFile('proguard-android.txt')
            }
        }
        productFlavors {
            defaultFlavor {
                proguardFile 'proguard-rules.txt'
            }
        }
    }
    
    dependencies {
        compile files('src/main/libs/android-support-v4.jar')
        compile files('src/main/libs/commons-io-1.3.2.jar')
        compile files('src/main/libs/commons-lang3-3.1.jar')
        compile files('src/main/libs/gson-2.2.2.jar')
        compile files('src/main/libs/picasso-1.0.2.jar')
        compile files('src/main/libs/robospice-1.4.1-SNAPSHOT.jar')
        compile files('src/main/libs/robospice-cache-1.4.1-SNAPSHOT.jar')
        compile files('src/main/libs/robospice-ormlite-1.4.1-SNAPSHOT.jar')
        compile files('src/main/libs/robospice-spring-android-1.4.1-SNAPSHOT.jar')
        compile files('src/main/libs/spring-android-core-1.0.1.RELEASE.jar')
        compile files('src/main/libs/spring-android-rest-template-1.0.1.RELEASE.jar')
        compile files('src/main/libs/twitter4j-async-3.0.3.jar')
        compile files('src/main/libs/twitter4j-core-3.0.3.jar')
        compile files('src/main/libs/twitter4j-examples-3.0.3.jar')
        compile files('src/main/libs/twitter4j-media-support-3.0.3.jar')
        compile files('src/main/libs/twitter4j-stream-3.0.3.jar')
        compile files('src/main/libs/ormlite-android-4.45.jar')
        compile files('src/main/libs/ormlite-core-4.45.jar')
        compile 'com.github.manuelpeinado.numericpageindicator:library:1.1.1'
        compile 'com.viewpagerindicator:library:2.4.1'
    }
    
    删除

    repositories {
        mavenCentral()
    }
    
    您先添加了它。不需要第二个

    你可以这样做:

    compile 'com.viewpagerindicator:library:+'
    

    您是否仔细检查过这些库是否可以从Maven Central获得?工件ID看起来很奇怪。我从他们的GitHub获取了“链接”,但是:Jake Wharton的lib:和另一个:在命令行上调用Gradle。这将告诉您是否无法解析库。我不确定Gradle是否了解Maven的包装类型。相反,您可以尝试
    com.github.manuelpeinado.numericpageindicator:library:1.1。1@apklib
    。请注意,这不会带来可传递的依赖项。另外,请看一看,
    apklib
    打包与新的基于Gradle的Android构建系统不兼容。两个
    mavenCentral
    声明都是必要的。第一个用于Gradle依赖项,第二个用于代码依赖项。@PeterNiederwieser奇怪:我只有一个声明,所有声明都可以与我的所有dependenciesStrange一起使用。这可能意味着Gradle或代码依赖项不是来自Maven Central。@PeterNiederwieser这是从哪里来的?:依赖项{compile'com.android.support:support-v13:+'compile'com.google.code.gson:gson:+'compile'org.apache.commons:commons io:+'}可能您已经在其他地方配置了存储库(例如父构建脚本)。如果没有存储库声明,它将无法工作。