我正在关注HeadFirst Android开发中的教程,并在添加后遇到问题: 私人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-的属性meta-data#android.support.VERSION@value value =(25.3.1) 31 也出现在[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”'以覆盖。
以下是代码:
答案 0 :(得分:179)
问题是所有具有相同版本和主要版本的支持库必须匹配编译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'
}
}
}
}
答案 1 :(得分:17)
如果您还没有,请先将此行添加到您的清单标记中:
xmlns:tools="http://schemas.android.com/tools"
示例:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.winanainc"
android:versionCode="3"
android:versionName="1.2"
xmlns:tools="http://schemas.android.com/tools">
然后在您的应用程序中添加此元标记以覆盖您的构建工具版本,在本例中我选择了版本25.3.1
<application>
...
..
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />
</application>
答案 2 :(得分:5)
将所有支持库版本更改为25.3.1并像魅力一样工作:
ClassC.py
您还需要将以下参数更改为25:
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
答案 3 :(得分:5)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="26.0.0" />
</application>
答案 4 :(得分:2)
打开 Android Studio - &gt;打开清单文件
添加<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
。不要忘记在xmlns:tools="http://schemas.android.com/tools"
代码
<application>
替换
compile 'com.android.support:recyclerview-v7:+'
通过
compile 'com.android.support:recyclerview-v7:25.3.1'
并添加
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
答案 5 :(得分:1)
就我而言,我使用的是26.1.0支持文件,但发现support-v13为26.0.1
因此我将implementation 'com.android.support:support-v13:26.1.0'
添加到了Gradle文件中并解决了问题
答案 6 :(得分:1)
Add <meta-data> tag in manifest.xml file as below...
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.demo"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
**<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />//this 25.3.1 version should be same which we defined in the build.gradle file. i am using compileSdkVersion 25**
</application>
</manifest>
确定使用@ASK。...
答案 7 :(得分:0)
如果您在最新的android studio中安装了最新的支持库,并且如果您在build gradle的应用程序模块中有一个旧的支持库版本,则android studio会因版本不匹配而失败。
因此,请将您的支持库版本更新为最新版本,并修复最新的支持库更改,如图标重命名等,然后重建它。
希望它有所帮助...答案 8 :(得分:0)
此代码解决了我的问题
“问题是所有具有相同版本和主要版本的支持库都必须与编译SDK版本匹配。
因此,请尝试强制使用特定的支持库版本。将其放在build.gradle中的应用程序模块的末尾。”
谢谢
答案 9 :(得分:0)
无论何时遇到此问题,最好的方法都是运行Rebuild Project
-这将告诉您确切的原因。
在我的情况下,meta-data
和module
中都存在app
答案 10 :(得分:-2)
在AndroidManifest.xml:22:5-24:34的元素上添加'tools:replace =“ android:value”'以覆盖。 添加到Line AndroidManifest.xml:22