'tools:replace="Android:value"' を追加 AndroidManifestの要素 質問する

'tools:replace=

HeadFirst Android 開発のチュートリアルに従っていますが、次を追加した後に問題が発生しました: private ActionBarDrawerToggle drawerToggle;

コントロールは非推奨になっていたため、Stackの指示に従って、com.android.support:appcompat-v7:26.0.0-alpha1をアプリモジュールの依存関係に追加することで問題を解決しました。

しかし、現在、次のビルド エラーが発生しています。

エラー: タスク ':app:processDebugManifest' の実行に失敗しました。

マニフェストのマージに失敗しました: [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml:24:9-31 の属性 meta-data#android.support.VERSION@value value=(25.3.1) は、[com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1) にも存在します。提案: オーバーライドするには、AndroidManifest.xml:22:5-24:34 の要素に 'tools:replace="android:value"' を追加します。

コードは次のとおりです:

ベストアンサー1

問題は、同じバージョンとメジャー バージョンを持つすべてのサポート ライブラリがコンパイル SDK バージョンと一致する必要があることです。

したがって、特定のサポート ライブラリ バージョンを強制するようにしてください。これをアプリ モジュールの最後に配置しますbuild.gradle

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

おすすめ記事