回答:
このエラーは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)以上に設定する必要があります
私はまったく同じ問題を抱えていました。次のスレッドで解決しました。Compile SDKのバージョンをAndroid Pに設定するだけです。
https://stackoverflow.com/a/49172361/1542720
以下を選択してこの問題を修正しました:
API 27+:Android API 27、Pプレビュー(プレビュー)
プロジェクト構造の設定で。次の画像は私の設定を示しています。アプリのビルド中に発生していた13個のエラーがなくなりました。
compileSdkVersion
し、buildToolsVersion
28へとあなたを残してtargetSdkVersion
低いバージョンで
+
バージョンでの使用について依存関係を確認してください。一部の依存関係はを使用してcom.android.support:appcompat-v7:+
いる可能性があります。これは、新しいバージョンがリリースされたときに問題を引き起こし、機能を壊す可能性があります。
これに対する解決策は、使用するcom.android.support:appcompat-v7:{compileSdkVersion}.+
か、まったく使用せず+
に完全版を使用することです(例com.android.support:appcompat-v7:26.1.0
)。
このためのbuild.gradleファイルに行が表示されない場合は、android studioターミナルで実行して、各依存関係が使用するものの概要を表示します
gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
(androidtestの依存関係を含める)
または
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に設定されているものに応じて異なる必要がある場合があります
compileSdkVersionを次のように変更してみてください: compileSdkVersion 28
これは、compileSdkVersion、buildToolsVersion、およびDependeciesの実装が一致しないためです。このように実行する必要があります。
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 Useを使用している場合、このエラーが発生するはずなので、ライブラリをすべて照合してみてください。
複数のモジュールを使用するアプリケーションでの作業中に同じ問題が発生した場合は、モジュールのcompileSdkVersion
およびのtargetSdkVersion
値を28以上に増やして、他のモジュールでも同じように確認してください。
アプリケーションの2番目のモジュールがcompileSdkVersion 29
とで実行されているtargetSdkVersion 29
ときに、モジュールが実行されcompileSdkVersion 27
ていましたtargetSdkVersion 27
。
2番目のモジュールもコンパイルしてSDKバージョン29をターゲットにするように変更すると、問題が解決しました。これが誰かを助けることを願っています。
多分それは遅すぎるかもしれませんが、私は解決策を見つけました:
あなたには編集する必要があります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'
}
この問題を解決するには、以下に示すように依存関係を適用する必要があります。
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
私の場合、私は試してみましたFile
> Invalidate Cache/Restart
それは私にとってはうまくいきます。
compileSdkVersion 27
とcompileSdkVersion 28
、変更compileSdkVersion
に28
、問題を解決しました。