运行Android Studio V3.4.1,我创建了一个新的“ Empty Activity”项目(接受默认设置),并且可以编译并正常运行。运行Analyze | Inspect_Code会生成一些警告,似乎没有什么严重的警告。然后,我将“ com.google.android.gms:play-services-location:16.0.0”库添加到应用程序中(通过File | Project_Structure菜单,通过编辑应用程序清单build.gradle来进行)。编译并运行,但是“检查代码”现在会产生“不兼容的Gradle版本”错误,具体来说,尽管该项目针对的是SdkVersion 28,但同时添加了两个新的项目级库com.android.support:support-v4
和com.android.support:support-media-compat
在V26.1.0
。
我猜想play-service-location:16.0.0
依赖于V26.1.0上的这两个新库,但是我不知道如何解决棉绒错误,甚至我是否需要?
我找不到在Android Studio中删除或编辑库的方法。我尝试调整app/app.iml
文件以将V26.1.0更改为V28.0.0,但这没有用。
尽管我从事软件开发已经30多年了,但是我是一名Android新手,所以我不确定到底发生了什么。
检查结果为“所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到的版本28.0.0,26.1.0。示例包括'com.android.support:animated-vestor-drawable:28.0.0' and 'com.android.support:support-media-compat:26.1.0'.
双击此错误,将光标移至“ implementation 'com.android.support:appcompat-v7:28.0.0'
”行中的应用清单文件
Android Studio提供了一个选项来抑制错误,但这有点像把我的头埋在沙子里...
更新:
从app.iml文件中提取:
<orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:collections:28.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-v4:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout:1.1.3@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:print:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat:26.1.0@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:versionedparcelable:28.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base:16.0.1@aar" level="project" />