Jake Whartonの ViewPagerIndicatorライブラリ を使用しようとしていますが、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バージョンに依存関係の問題があるのか、nineoldandroidsに何かあるのか疑問に思っています...?
Maven Central内にバージョンをプッシュしただけなので、その依存関係を追加するだけです。
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
そして、次のようにMaven Centralを宣言します。
repositories {
mavenCentral()
}
それが役に立てば幸い...
パーティーに少し遅れましたが、ここで:
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
Android Studio 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'
// ...
}
Jitpack.io は、この状況ではgreatです。
まず、次のリポジトリを追加します。
repositories {
// ...
maven { url "https://jitpack.io" }
}
次に、GitHubリポジトリを指す依存関係を追加します。
dependencies {
compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1@aar'
}
これをアプリモジュールの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'
}
私は答えのいずれかでプロジェクトをインポートすることができませんでした。 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')
}
お役に立てれば!
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'
}
それはうまくいきました。
support:support-v4がすべてのライブラリとアプリケーションで同じであることを確認してください。問題が発生する場合があるため、libsとアプリプロジェクトで同じsupport:support-v4を使用してください。
回答としてマークされた投稿は私にはうまくいきませんでした... Gradleは「接続が拒否されました」と不満を言いました。
ずっと安定しているように見えることを考えると、私は https://bintray.com/populov/maven/com.viewpagerindicator:library からaarファイルをダウンロードし、libsフォルダーにコピーしました。そしてそれを次のように参照しました:
dependencies {
...
compile 'com.viewpagerindicator:library:2.4.1@aar'
}
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'
}
これは私のために働いたものです:
repositories {
jcenter()
// maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
}
つまり、リポジトリURLを使用しないでください。
次に使用します:
dependencie {
....
compile 'com.mcxiaoke.viewpagerindicator:library:2.4.1@aar'
....
}
多様性のために、mavenを使用しない回答を次に示します。
ViewPagerIndicator からZip/tgzをダウンロードします
プロジェクトウィンドウで、プロジェクトナビゲーションを選択します。
[プロジェクト]> [新規]> [モジュール]に移動します。
Gradleプロジェクトのインポート
解凍したライブラリフォルダーを参照して選択します。モジュールに名前を付けます。 viewPagerIndicator
という名前を付けました
Finish
がクリック可能な最後のウィンドウに到達するまで、次をクリックし続けます。 Android Support Library is not installed
メッセージを受け取ったとしても、心配しないでください。先に進み、Finish
をクリックしてください。
Gradleビルドとプロジェクトのコンパイルが完了するまで待ちます。完了したら、これをbuild.gradle (Module:app)
の依存関係{..}に追加します。
compile project(':viewPagerIndicator')
ライブラリが使用可能になりました。
また、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'
}
新しいgradleの問題があります。以下のように依存関係を変更するだけです。
implementation 'com.inkapplications.viewpageindicator:library:2.4.3'
私にとっても、上記の解決策のいずれも機能しませんでした。しかし、これは私のために働いた。
ここから必要なライブラリを含めるだけです Viewpagerindicator Library
これをアプリモジュールのbuild.gradleに含めます(依存関係の上に含めるだけのリポジトリはありません)。
repositories {
flatDir{
dirs 'libs'
}
}
compile (name:'library-2.4.1',ext:'aar')
here のように、ViewPagerIndicatorライブラリをアプリケーションに直接含めることができます。
ViewPagerIndicatorライブラリを「既存のプロジェクト」として現在のプロジェクトにインポートできます。
最初にこれを確認してください
Android Studio-予期しないトップレベルの例外:
これらのチェックに問題がない場合は、以下で説明します。
ViewPagerIndicatorライブラリはすでに依存関係としてsupport-v4を持っているため、モジュールの依存関係としてsupport-v4を含める必要はありません。それを削除して、ツールバーにある小さな素敵なグラドルボタンを使用してグラドルと同期することができます-
同期中にエラーが発生した場合は、質問を更新してください。
更新済み:
よくわかりませんが、gradleに基づいたViewPagerIndicatorライブラリが見つからなかったことが問題である可能性があります。 JackWartonはactionbarsherlockをgradleに移動しましたが、ViewPagerIndicatorはまだMavenを使用しています。
要約すると: http://mvnrepository.com/ で "ViewPagerIndicator"を検索できます。元のcom.viewpagerindicatorには赤いマーカー "Androidパッケージ"がないため、 Gradleでは使用できません。赤いマーカーが付いた別のマーカーを見つけることができます。元のマーカーと同じバージョンであることを確認してください。 (つまり、元のパッケージに基づいてAndroidパッケージを作成するものがあります)