今日、Android Studio通知がポップアップ表示されたため、サポートリポジトリを46.0.0に更新しました。
私は以下のエラーに行きます:
エラー:タスク ':app:processDevDebugManifest'の実行に失敗しました。
マニフェストの統合に失敗しました:属性com-data#Android.support.VERSION@value value =(25.3.0)from [com.Android.support:support-v13:25.3.0] AndroidManifest.xml:27:9-31も[com.Android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38 value =(26.0.0-alpha1)に存在します。提案:オーバーライドするAndroidManifest.xml:25:5-27:34の要素に「tools:replace = "Android:value"」を追加します。
25.3.0からリビジョン26.0.0 Alpha 1を使用するようにすべての依存関係を更新しましたが、compileSdkを25から26に上げる必要があることがわかりました。AS2.3を使用している場合は、それを取得する必要がありますカナリアの不安定なアルファ/ベータ版。
このリンクは変更を示しています: https://developer.Android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1
そして、新しいAndroid Oへの移行に関しては、それがリンクです: https://developer.Android.com/preview/migration.html
AS安定バージョンの使用は、新しいリポジトリでは機能しないようです。
新しい46ではなくAndroid Studioリポジトリバージョン45に戻るにはどうすればよいですか?
**更新:マージされたマニフェストには、生成されたライブラリマニフェストの1つが含まれています
<meta-data
Android:name="Android.support.VERSION"
Android:value="26.0.0-alpha1" />
ただし、生成されたファイルの編集は役に立たないので、今のところ、新しいASが安定したビルドになるまで、rev 45に固執する理由です。
一部のライブラリはAndroidサポートライブラリのバージョン "X以降"に依存しているため、Gradle依存関係の解決は、dependencies
ブロックで指定された正確なバージョンを実際に無視して、最新のものを取得します。
これはあなたが望むものではありません。同じバージョンのすべてのサポートライブラリとメジャーバージョンは、コンパイルSDKバージョンと一致する必要があります。
幸いなことに、特定のサポートライブラリバージョンを強制できます。
これをアプリモジュールの最後build.gradle
に配置します。
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
// Skip multidex because it follows a different versioning pattern.
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
もちろん、バージョンを使用しているものに置き換えます。
dependecies
ブロック内のサポートライブラリのバージョン値は無関係になりました。
これは 十分に文書化されたメソッド であり、機能しています。
範囲に依存 サポートライブラリバージョンのライブラリを見つける
gradlew dependencies --configuration compile -p <module name> | grep ,
そして、前述のライブラリの作成者に、推移的に依存する必要があることを知らせますライブラリでできる最も古いサポートライブラリ。
これは、問題を完全に回避することを目的としています。
ステップ1
互換性のないcom.Android.support
バージョンのGradleチェックを回避するには、アプリモジュールbuild.gradle
に次のコードを追加します。
dependencies {
//noinspection GradleCompatible
}
これは、根本的な問題を解決しない一時的な修正です!最小限の変更でアプリの開発を継続できました。
ステップ2
これをメインのマニフェストファイルAndroidManifest.xml
に追加します。
<meta-data
tools:replace="Android:value"
Android:name="Android.support.VERSION"
Android:value="25.3.1" />
サポートリポジトリの次の更新の1つが利用可能になると、このエントリは削除されます。
ステップ
アプリモジュールのbuild.gradle
ファイルの最後に次のコードを追加します。
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.1'
}
}
}
}
NB:実行時エラーを避けるために、Gradleライブラリが更新され互換性があることを確認することをお勧めします。
彼らはそれを修正する解決策です:
例私の場合:
configurations.all {
resolutionStrategy.force 'com.Android.support:appcompat-v7:25.3.0'
resolutionStrategy.force 'com.Android.support:support-v13:25.3.0'
}
これにより、プロジェクトは前述のライブラリを使用するようになります。
最善の解決策は、Androidサポートライブラリをバージョン45に戻すことです。
これを行うには、このリンクを開きます(必要に応じてバージョンを変更します)
https://dl-ssl.google.com/Android/repository/Android_m2repository_r45.Zip
ダウンロードしたら、解凍してm2repositoryをAndroid-sdk-root-folder\extras\Androidにコピーします。問題を回避するために、解凍する前に既存のm2repositoryを必ず削除してください。
これは、根本的な問題を解決しない一時的な修正です!最小限の修正でソフトウェアの開発を続けるのに役立ちました。これをメインマニフェストに追加するだけです。
<meta-data
tools:replace="Android:value"
Android:name="Android.support.VERSION"
Android:value="25.3.0" />
このエントリは、サポートリポジトリの次のアップデートのいずれかで再び削除されることが期待されます。
解決策:10個のbuild.gradleファイルのうち4個に以下を追加することで、マークされたソリューションが機能しました。
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
私にとって問題は、バージョンがここで同じではなかったということでした
implementation 'com.Android.support:appcompat-v7:**26.0.0-beta1**'
implementation 'com.Android.support:support-v4:**26.0.0-beta1**'
implementation 'com.Android.support:design:**26.0.0-beta1**'
カードビューは
compile 'com.Android.support:cardview-v7:26.1.0'
だから私はバージョンライブラリを...に変更しました.
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.Android.support:design:26.1.0'
この助けを願って、幸運