Android支持Repo 46.0.0和Android Studio 2.3
随着Android Studio通知的弹出,我今天将我的支持库更新为46.0.0 我将错误记录在下面: 错误:任务“:app:processDevDebugManifest”的执行失败 清单合并失败:属性元数据#android.support。VERSION@value值=(25.3.0)自 [com.android.support:support-v13:25.3.0]AndroidManifest.xml:27:9-31 也出现在[com.android.support:preference-v7:26.0.0-alpha1] xml:24:9-38值=(26.0.0-alpha1)。建议:添加 'tools:replace=“android:value”'到 xml:25:5-27:34来覆盖 我更新了所有依赖项,使用25.3.0版本的26.0.0 Alpha 1,但结果是我需要将compileSdk从25增加到26。 如果你有AS 2.3,你不能这么做,你需要从金丝雀那里获得不稳定的alpha/beta版本 此链接显示更改: 关于迁移到新的android O,这是一个链接: 使用稳定版本似乎无法与新存储库配合使用 我怎样才能回到Android Studio存储库版本45而不是新的46 **更新:合并清单显示生成的库清单中包含的一个Android支持Repo 46.0.0和Android Studio 2.3,android,android-studio,android-support-library,Android,Android Studio,Android Support Library,随着Android Studio通知的弹出,我今天将我的支持库更新为46.0.0 我将错误记录在下面: 错误:任务“:app:processDevDebugManifest”的执行失败 清单合并失败:属性元数据#android.support。VERSION@value值=(25.3.0)自 [com.android.support:support-v13:25.3.0]AndroidManifest.xml:27:9-31 也出现在[com.android.support:preference
<meta-data
android:name="android.support.VERSION"
android:value="26.0.0-alpha1" />
但是由于它是一个生成的文件,编辑是无用的,这就是为什么现在我坚持使用rev 45,直到新的AS在稳定构建中有什么问题
有些库依赖于Android支持库的版本“X或更高版本”,因此Gradle dependency resolution会获取可用的最新版本,而忽略在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 ,
gradlew依赖项——配置编译-p | grep,
并让上述库的作者知道,他们应该过渡地依赖于他们的库可以使用的最古老的支持库
这旨在完全避免该问题。这是一个临时修复,无法解决潜在问题!它帮助我以最少的修改继续开发软件。只需将其添加到主清单:
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.0" />
他们的解决方案是:
configurations.all {
resolutionStrategy.force 'com.android.support:appcompat-v7:25.3.0'
resolutionStrategy.force 'com.android.support:support-v13:25.3.0'
}
这将迫使project使用上述库。我认为最好的解决方案是将Android支持库恢复到45版 为此,请打开此链接(将版本更改为适合您需要的任何版本)
下载后,将m2repository解压并复制到android sdk根文件夹\extras\android。在解压缩之前,请确保删除现有存储库以避免出现问题。只需执行此操作即可:- 编译'com.android.support:appcompat-v7:25.3.1' 这里的v7:25.3.1是我的当前版本,您刚刚发布了urs
应用程序内渐变文件步骤1 要避免Gradle检查不兼容的
com.android.support
版本,快速修复方法是在app modulebuild.Gradle
中添加以下代码
dependencies {
//noinspection GradleCompatible
}
这是一个临时修复程序,无法解决根本问题!它有助于继续开发您的应用程序,只需很少的修改 步骤2 将其添加到主清单文件
AndroidManifest.xml
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />
NB:建议确保您的Gradle库已更新且兼容,以避免运行时错误。对我来说,问题是这里的版本不一样
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'
希望这些帮助,祝你好运在这里查看我对android“O”
gradle
配置的答案@向导2.3版无法使用,因为我无法下载最新的平台:错误:在:*\AppData\Local\android\sdk中找不到哈希字符串为“android-O”的目标:*\AppData\Local\android\sdk好的-将频道切换到canary。这是显而易见的答案,但一些公司喜欢使用稳定版本。推动一个破坏我们工作平台的更新是一个非常糟糕的举动,特别是当我们有一个产品,我们不想移动到版本O,因为它已经发布。是时候重新安装旧版本了,我猜是喔…等等!安卓O
尚未发布。发布的版本是预览版。您是否阅读了我答案中的脚注?这不会改变支持库版本26已导入的事实。您只是在掩盖问题,它最终会咬到您。@EugenPechanec您的解决方案对我不起作用:无法解析符号“DependencySolveDetails”。我遗漏了什么?如果你对我的答案有疑问,为什么不评论我的答案?Groovy(build.gradle语言)是动态类型的。请删除“DependencyResolveDetails”,然后重试。如果不起作用,请留下另一条评论。@EugenPechanec我是新用户,我没有足够的声誉(现在可能低于0)对你的答案发表评论。你的建议对我不起作用。我收到与未收到相同的错误消息。我暂时坚持我的计划。现在没有时间重新安装。还是不明白投票结果。也许我没有足够准确地描述我在修复背后的动机
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'