web-dev-qa-db-ja.com

Android St​​udioおよびGradleでViewPagerIndicatorライブラリを使用する

Jake Whartonの ViewPagerIndicatorライブラリ を使用しようとしていますが、Android St​​udioの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バージョンに依存関係の問題があるのか​​、nineoldandroidsに何かあるのか疑問に思っています...?

114
loeschg

Maven Central内にバージョンをプッシュしただけなので、その依存関係を追加するだけです。

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

そして、次のようにMaven Centralを宣言します。

repositories {
    mavenCentral()
}

それが役に立てば幸い...

195
avianey

パーティーに少し遅れましたが、ここで:

Jake WhartonはMavenでaarとしてリリースしていません。サーバーを通じてグループの一部を利用できるようにしましたが、build.gradleで次のように設定できます。

プラグインを宣言した後、これをソースリポジトリに追加します。

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

これは、彼らがまとめたパッケージ化されたaarを含むMavenリポジトリをソースします。それが完了したら、依存関係にこの行を追加するだけで、プロジェクトをgradleファイルと同期するとすべてが機能するはずです。

MavenリポジトリがmavenCentral()エントリの上にリストされていることを確認してください。それ以外の場合、最初にmavenの中央リポジトリを見て、間違ったパッケージを見つけます。

Android Studioはプロジェクト用に2つのbuild.gradleファイルを生成します。これを必ず正しいものに入れてください!

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

実際の例をご覧になりたい場合は、アプリで使用します。

https://github.com/pandanomic/SUREwalk_Android/blob/master/surewalk/build.gradle

147
Zac Sweers

Android St​​udio 0.8.2でgradle 0.10。+を使用していますが、受け入れられた答えがうまくいきませんでした。これらは私のプロジェクトで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'
   // ...
}
56
mugiwarapy

Jitpack.io は、この状況ではgreatです。

まず、次のリポジトリを追加します。

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

次に、GitHubリポジトリを指す依存関係を追加します。

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

これをアプリモジュールのbuild.gradleファイルの依存関係に次のように追加します。

dependencies {
   compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
   ...
}
25
Md Yusuf Alam

私はこれに従うことでトリックをしました。ライブラリをインポートする必要はありません。わずか2ステップとビンゴで、完璧に機能します。

Build.gradle(Project:...):

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

Build.gradle(Module:app):

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

私は答えのいずれかでプロジェクトをインポートすることができませんでした。 Android St​​udio 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') 
  }

お役に立てれば!

5
vrunoa

Studio 0.8.6とGradle 1.12を使用しています

私のプロジェクトの違いは、互換性ライブラリを使用しているために、gradleがsupport-v4 libを2回持っていることに不満を抱いていることです。

そのため、既に含まれている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ファイルが2回あるという不満もありました。

そこで、次のようにAndroidセクションにexclude 'AndroidManifest.xml'を追加しました。

Android {
    packagingOptions {
        exclude 'AndroidManifest.xml'
    }

それはうまくいきました。

4
Jens

support:support-v4がすべてのライブラリとアプリケーションで同じであることを確認してください。問題が発生する場合があるため、libsとアプリプロジェクトで同じsupport:support-v4を使用してください。

3
Jitesh Upadhyay

回答としてマークされた投稿は私にはうまくいきませんでした... Gradleは「接続が拒否されました」と不満を言いました。

ずっと安定しているように見えることを考えると、私は https://bintray.com/populov/maven/com.viewpagerindicator:library からaarファイルをダウンロードし、libsフォルダーにコピーしました。そしてそれを次のように参照しました:

dependencies {
...
compile 'com.viewpagerindicator:library:2.4.1@aar'
}
3
devguy
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
Sam

これは私のために働いたものです:

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

つまり、リポジトリURLを使用しないでください。

次に使用します:

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

多様性のために、mavenを使用しない回答を次に示します。

  1. ViewPagerIndicator からZip/tgzをダウンロードします

  2. プロジェクトウィンドウで、プロジェクトナビゲーションを選択します。

  3. [プロジェクト]> [新規]> [モジュール]に移動します。

  4. Gradleプロジェクトのインポート

  5. 解凍したライブラリフォルダーを参照して選択します。モジュールに名前を付けます。 viewPagerIndicatorという名前を付けました

  6. Finishがクリック可能な最後のウィンドウに到達するまで、次をクリックし続けます。 Android Support Library is not installedメッセージを受け取ったとしても、心配しないでください。先に進み、Finishをクリックしてください。

  7. Gradleビルドとプロジェクトのコンパイルが完了するまで待ちます。完了したら、これをbuild.gradle (Module:app)の依存関係{..}に追加します。

     compile project(':viewPagerIndicator')
    

ライブラリが使用可能になりました。

2
Flame of udun

また、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'
}
2
ODAXY

新しいgradleの問題があります。以下のように依存関係を変更するだけです。

implementation 'com.inkapplications.viewpageindicator:library:2.4.3'
0
Rajan Kashiyani

私にとっても、上記の解決策のいずれも機能しませんでした。しかし、これは私のために働いた。

  1. ここから必要なライブラリを含めるだけです Viewpagerindicator Library

  2. これをアプリモジュールのbuild.gradleに含めます(依存関係の上に含めるだけのリポジトリはありません)。

repositories {
    flatDir{
        dirs 'libs'
    }
}
  1. これを依存関係に追加します。
compile (name:'library-2.4.1',ext:'aar')
0
Uday Ramjiyani

here のように、ViewPagerIndicatorライブラリをアプリケーションに直接含めることができます。

ViewPagerIndicatorライブラリを「既存のプロジェクト」として現在のプロジェクトにインポートできます。

0

最初にこれを確認してください

Android Studio-予期しないトップレベルの例外:

これらのチェックに問題がない場合は、以下で説明します。

ViewPagerIndicatorライブラリはすでに依存関係としてsupport-v4を持っているため、モジュールの依存関係としてsupport-v4を含める必要はありません。それを削除して、ツールバーにある小さな素敵なグラドルボタンを使用してグラドルと同期することができます-

enter image description here

同期中にエラーが発生した場合は、質問を更新してください。

更新済み:

よくわかりませんが、gradleに基づいたViewPagerIndicatorライブラリが見つからなかったことが問題である可能性があります。 JackWartonはactionbarsherlockをgradleに移動しましたが、ViewPagerIndicatorはまだMavenを使用しています。

0
pyus13

要約すると: http://mvnrepository.com/ で "ViewPagerIndicator"を検索できます。元のcom.viewpagerindicatorには赤いマーカー "Androidパッケージ"がないため、 Gradleでは使用できません。赤いマーカーが付いた別のマーカーを見つけることができます。元のマーカーと同じバージョンであることを確認してください。 (つまり、元のパッケージに基づいてAndroidパッケージを作成するものがあります)

0
cn123h