我正在尝试使用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版本是否存在依赖性问题,或者是九折机器人的某些东西......?
答案 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的答案:
在项目窗口中,选择项目导航。
转到项目>新>模块。
导入Gradle项目
浏览并选择解压缩的库文件夹。将模块命名为您想要的任何名称。我将其命名为viewPagerIndicator
继续点击下一步,直至到达Finish
可点击的最后一个窗口。如果您收到Android Support Library is not installed
消息,请不要担心。然后点击Finish
。
等待gradle构建和项目编译完成。完成后,将其添加到build.gradle (Module:app)
中的依赖项{..}:
compile project(':viewPagerIndicator')
图书馆现在供您使用。
答案 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同步 -
如果您在同步中遇到任何错误,请更新您的问题。
更新:
我不确定但是这可能是一个问题我找不到任何基于gradle的ViewPagerIndicator库。 JackWarton已经将actionbarsherlock移动到gradle中,但ViewPagerIndicator仍在使用maven。