だから私はアンドロイドスタジオ3.0.1をインストールし、それが建てられたgradleを開くとすぐに以下のエラーを示しました。設計やサポートなどの依存関係を追加しようとしましたが、無駄でした。誰かが私を手伝ってくれる?前もって感謝します。
DialogCornerRadiusやfontVariation Settingsなどの一部の属性が見つからないことがわかります。
このエラーはcompileSdkVersion
とライブラリのバージョンの不一致が原因で発生します。
例えば:
compileSdkVersion 27
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support:design:26.1.0'
また、次のように+記号をライブラリと一緒に使用しないでください。
implementation 'com.Android.support:appcompat-v7:26.+'
このような正確なライブラリのバージョンを使う
implementation 'com.Android.support:appcompat-v7:26.1.0'
ライブラリで+記号を使用すると、構築プロセスで必要な正確なバージョンを集めることが難しくなり、システムが不安定になるため、お勧めできません。
AndroidXに移行してこのエラーが発生する場合は、コンパイルSDKをAndroid 9.0(APIレベル28)以上に設定する必要があります。
バージョンでの+
の使用法については、依存関係を確認してください。いくつかの依存関係はcom.Android.support:appcompat-v7:+
を使っているかもしれません。これは新しいバージョンがリリースされたときに問題を引き起こし、機能を壊す可能性があります。
これに対する解決策はcom.Android.support:appcompat-v7:{compileSdkVersion}.+
を使用するか、+
をまったく使用せずにフルバージョン(例:com.Android.support:appcompat-v7:26.1.0
)を使用することです。
このためbuild.gradleファイルに1行も表示されない場合は、Androidスタジオ端末で実行して、各依存関係が何を使用しているかの概要を説明してください。
gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
(androidtestの依存関係を含む)
OR
gradlew -q dependencies app:dependencies --configuration debugCompileClasspath
(デバッグに対する通常の依存関係)
これは、これに近いものになります。
------------------------------------------------------------
Project :app
------------------------------------------------------------
debugCompileClasspath - Resolved configuration for compilation for variant: debug
...
+--- com.Android.support:appcompat-v7:26.1.0
| +--- com.Android.support:support-annotations:26.1.0
| +--- com.Android.support:support-v4:26.1.0 (*)
| +--- com.Android.support:support-vector-drawable:26.1.0
| | +--- com.Android.support:support-annotations:26.1.0
| | \--- com.Android.support:support-compat:26.1.0 (*)
| \--- com.Android.support:animated-vector-drawable:26.1.0
| +--- com.Android.support:support-vector-drawable:26.1.0 (*)
| \--- com.Android.support:support-core-ui:26.1.0 (*)
+--- com.Android.support:design:26.1.0
| +--- com.Android.support:support-v4:26.1.0 (*)
| +--- com.Android.support:appcompat-v7:26.1.0 (*)
| +--- com.Android.support:recyclerview-v7:26.1.0
| | +--- com.Android.support:support-annotations:26.1.0
| | +--- com.Android.support:support-compat:26.1.0 (*)
| | \--- com.Android.support:support-core-ui:26.1.0 (*)
| \--- com.Android.support:transition:26.1.0
| +--- com.Android.support:support-annotations:26.1.0
| \--- com.Android.support:support-v4:26.1.0 (*)
+--- com.Android.support.constraint:constraint-layout:1.0.2
| \--- com.Android.support.constraint:constraint-layout-solver:1.0.2
(*) - dependencies omitted (listed previously)
バージョンの変更を管理できない場合は、特定のバージョンを使用するように強制してみてください。
configurations.all {
resolutionStrategy {
force "com.Android.support:appcompat-v7:26.1.0"
force "com.Android.support:support-v4:26.1.0"
}
}
力の依存関係は、28.0.0に設定されている内容によって異なる必要があります。
私はまったく同じ問題を抱えていました。次のスレッドは私がそれを解決するのを助けました。 Compile SDKのバージョンをAndroid Pに設定するだけです。
遅すぎるかもしれませんが、私は解決策を見つけました:
build.gradle
内でcompileSdkVersion
- >を最新のものに編集する必要があります(現在は28です)。そのように:
Android {
compileSdkVersion 28
defaultConfig {
applicationId "NAME_OF_YOUR_PROJECT_DIRECTORY"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
あるいは、実装のバージョンを変更することもできます。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api 'com.Android.support:design:27.+'
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}
これは、compileSdkVersion、buildToolsVersion、およびDependeciesの実装が一致していないためです。この場合は、28個のライブラリがあります
compileSdkVersion 28
targetSdkVersion 28
buildToolsVersion 28.0.3
implementation 'com.Android.support:design:28.0.0'
implementation 'com.Android.support:appcompat-v7:28.0.0'
もし私たちが28未満でこのエラーが発生した場合はAnyを使用してくださいので、全部でmatch libraryを試してください。
compileSdkVersionをcompileSdkVersion 28
に変更してみてください。
これを解決するためのきちんとしたプラグインを見つけました:cordova-Android-support-gradle-release
cordovaプラグインcordova-Android-support-gradle-release --variable Android_SUPPORT_VERSION = 27を追加しました。+ --save
この問題を解決するには、以下のように依存関係を適用する必要があります。
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.Android.support:support-v4:27.1.0'
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:recyclerview-v7:27.1.0'
}
以下のバージョンは使用しないでください。
v7:28.0.0-alpha1
buildscript {
project.ext {
supportLibVersion = '27.1.1'
compileVersion = 28
minSupportedVersion = 22
}
}
依存関係を設定します。
implementation "com.Android.support:appcompat-v7:$project.supportLibVersion"
私の場合、このエラーは私が使用している間に発生しました
implementation 'com.Android.support:appcompat-v7:+'
implementation 'com.Android.support:design:+'
グーグルとライブラリ
implementation 'com.google.Android.material:material-components:+'
としょうかん。これがあなたのプロジェクトに当てはまる場合、私はあなたのプロジェクトから完全にgoogle material componentsライブラリを削除することを強く勧めます。