小编lit*_*net的帖子

添加Dependency com.google.android.material后,Android Manifest Merger失败

我们希望使用Google提供的最新材料设计ui元素.因此我com.google.android.material:material:1.0.0-beta01在我们的项目中添加了gradle文件.但从那以后我收到以下错误.

清单合并失败:来自[androidx.core:core:1.0.0-beta01]的属性应用程序@ appComponentFactory值=(androidx.core.app.CoreComponentFactory)AndroidManifest.xml:22:18-86也出现在[com.android] .support:support-compat:28.0.0-beta01] AndroidManifest.xml:22:18-91 value =(android.support.v4.app.CoreComponentFactory).建议:在AndroidManifest.xml:5:5-40:19中添加'tools:replace ="android:appComponentFactory"'来覆盖.

没有材料库,一切正常.

我已经尝试过了什么

  1. 我改变了依赖项的顺序(这显然不起作用)
  2. 我还尝试tools:replace="android:appComponentFactory"按照错误消息中的建议添加到我们的Manifest文件中.但这给我留下了一条新的错误信息:

java.lang.RuntimeException:Manifest merger因多个错误而失败,请参阅com.android.builder.orers.merd.build.tasks.ProcessManifest.doFullTask​​Action中的com.android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.java:524)上的日志(ProcessManifest) .java:75)在com.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.java:106)

我检查了日志文件,但是idea.log中显示的唯一警告是

2018-08-08 11:08:21,500 [thread 267] WARN - .tools.idea.model.ManifestInfo - getMergedManifest failed Manifest merger因多个错误而失败,请参阅日志2018-08-08 11:08:21,642 [thread 267]警告 - .tools.idea.model.ManifestInfo - getMergedManifest失败Manifest合并失败并出现多个错误,请参阅日志2018-08-08 11:08:21,917 [J pool 0/7]

更多信息

API版本

android {
compileSdkVersion 28
buildToolsVersion '28.0.0'

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
}
Run Code Online (Sandbox Code Playgroud)

(在Android Studio的文件>项目结构中选择相同的API)

依赖关系:

dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')

/** ANDROID LIBRARIES  **/
implementation 'com.android.support:multidex:1.0.2'
implementation 'com.android.support:appcompat-v7:28.0.0-beta01' …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin material-design

16
推荐指数
2
解决办法
3万
查看次数

AndroidX之前和之后DialogPreference之间的区别

我们目前正在通过Android应用程序项目迁移到Androidx命名空间。但是我注意到不仅名称空间似乎已更改。对于DialogPreference,现在也缺少以前使用的一些接口

例如,似乎缺少以下方法:onBindDialogView,showDialog,onDialogClosed。

由于我们使用其中一些方法来影响对话框的默认行为,因此我不清楚现在应如何实现此功能。例如,我们在关闭对话框之前验证输入,我们将值而不是sharedpreferences保存在数据库中,并向对话框中添加一些动态元素。

其他人是否已经遇到此问题并找到了解决方案?我错过了文档中的任何内容吗?我们可以/应该使用另一个概念吗?

可以使用Fragments而不是DialogPreference,但是对于少量内容(例如,用户可以从中选择的树项目列表)来说,这似乎给我带来了很多开销……

android androidx

13
推荐指数
1
解决办法
1579
查看次数