問題:
Error:Could not find com.Android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
背景: / Android Studio 2.2 P 1
私の場合は、ConstraintLayoutのサポートライブラリがインストールされていましたが、build.gradleファイルに間違ったバージョンのConstraintLayoutライブラリを追加していました。インストールしたバージョンを確認するには、Preferences
> Appearance & Behavior
> System Settings
> Android SDK
にアクセスしてください。今、右ペインのSDK Tools
タブをクリックしてください。 Show Package Detailsをチェックしてバージョンを書き留めます。
最後に、正しいバージョンをbuild.gradle
ファイルに追加できます。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support.constraint:constraint-layout:1.0.0-alpha9'
testCompile 'junit:junit:4.12'
}
これを修正するには、build.gradleのAndroid gradleプラグインを更新します。
これは動作するはずです。クラスパス 'com.Android.tools.build:gradle:2.2.0-alpha2'
あるいは、最新のものを使うこともできます。クラスパス 'com.Android.tools.build:gradle:2.2.0-alpha3'
私は自分のAndroid gradleプラグインを2.2.0-alpha4
に更新し、レイアウトの依存関係を1.0.0-alpha3
に更新しましたが、現在は動作しているようです
まず最初に、スタックオーバーフローについて読んだことをすべて試してみました。GledleからXYバージョンへの更新、ConstraintLayoutからXYバージョンへの更新、そしてSDKツールおよびAndroid Studioの最新バージョンへの更新も可能でした。
唯一の解決策は、gradleとSDKからConstraintLayoutライブラリを削除してから、ランダムなxmlレイアウトを開き、PaletteセクションのDesignビューでConstraintLayoutを検索することです。プロジェクトから正しくライブラリを削除した場合は、ConstraintLayout要素をダブルクリックすると、そこからライブラリをインストールすることができます。
それが私のアプリbuild.gradleに次の行を作成しました:
'com.Android.support.constraint:constraint-layout:1.0.0-beta1'
私のプロジェクトbuild.gradleでは、これがあります。
classpath 'com.Android.tools.build:gradle:2.2.2'
Androidスタジオバージョン2.2.2
repositories { maven { url 'https://maven.google.com' } }
でmaven.google.comリポジトリが宣言されていることを確認してください。2.同じbuild.gradleファイルに依存関係としてライブラリを追加します。
dependencies {
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
}
スタジオバージョン2.3では、sdkツールでconstraint-layoutの近くにドロップダウンが表示されないようにするために、デフォルトで最新バージョンがインストールされます。
希望のバージョンを入手するには、パッケージの詳細とブームを表示するボックスをチェックして、インストールしたい希望のバージョンを選択できます。
グラドルcom.Android.tools.build:gradle:2.2.0-alpha6
制約レイアウトの依存関係com.Android.support.constraint:constraint-layout:1.0.0-alpha4
私のために働く
私にとっては全く別の問題でした。 SDKツールに制約依存関係をインストールしたとき、ツールはどういうわけかそれらを wrong ディレクトリに書き込みました。あれは
/home/${USER}/Android/Sdk/extras/+m2repository+/com/.../constraint
の代わりに
/home/${USER}/Android/Sdk/extras/+Android+/+m2repository+/com/.../constraint
救済策:
1.0.0-alpha*
ディレクトリを後者のパスにコピーするだけです。
私の場合は、AS 2.3を使用していましたが、現在最新のConstraintLayout 1.1.3を使用したいのですが、Preferences> Appearance&Behavior> System Settings> Androidの最新バージョンは1.0.2でした。
ConstraintLayout 1.1.3を使用するには、ASを2.3から現在最新の3.2.1に、com.Android.tools.build:gradleを2.2.2から3.2.1に、gradleを3.3から4.6に、buildToolsVersionを25.0.0から28.0.3。
また、プロジェクトレベルのbuild.gradleファイルのMavenリポジトリにmaven {url ' https://maven.google.com '}を追加したところ、問題は解決しました。
SDKツールのアップデート中に、インストールされる予定の制約レイアウトバージョンが表示されたダイアログボックスが表示されました。それに注意し、それに基づいてあなたの依存関係を更新してください。私の場合はbeta3をインストールしていました。
私は以下のように依存関係を変更しました。その後それは働いた。
'com.Android.support.constraint:constraint-layout:1.0.0-beta3'をコンパイルしてください。
私はクラスパス 'com.Android.tools.build:gradle:2.1.0'でcom.Android.support.constraint:constraint-layout:1.0.0-alpha2を使用しました、それは魅力のように働きました。
Android Studioを再インストールすることで解決した同様の問題。
制約レイアウトの依存関係を「1.0.0-alpha2」から関連するバージョンに更新してください。私の場合は、次のように変更しました。 'com.Android.support.constraint:constraint-layout:2.0.0-alpha5'をコンパイルします。
私の場合は、 "app"と "sdk"というマルチモジュールプロジェクトがありました。 "sdk"モジュールは、私が制約レイアウトライブラリを追加したものです。 「sdk」を「app2」という新しいマルチモジュールプロジェクトに組み込もうとしたときにエラーが発生しました。解決策は、 "app2"のプロジェクトレベルのbuild.gradleファイルにGoogle Mavenリポジトリを確実に追加したことです。 Google Mavenリポジトリは、プロジェクトレベルのbuild.gradleファイルのallprojects.repositories
の下に "google()"を追加することで追加できます。
allprojects {
repositories {
jcenter()
google()
}
}
次のパッケージとしてandroidxで利用可能
implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha1"
手遅れかどうかはわかりませんが、SDK ToolsでConstraintLayoutとSolverを更新した後でまだエラーが発生する場合は、この解決策が役立つことがあります。 エラー:(30、13) Android.support.constraint:制約レイアウト:1.0.0-alpha4