依赖库版本冲突,查看依赖树
一、在Terminal下输入命令(mac os命令以 ./ 开头):gradlew :app:dependencies --configuration releaseCompileClasspath
D:\workspace\editcode>gradlew :app:dependencies --configuration releaseCompileClasspath
> Task :app:dependencies
------------------------------------------------------------
Project :app
------------------------------------------------------------
releaseCompileClasspath - Resolved configuration for compilation for variant: release
+--- com.android.support:appcompat-v7:26.0.2
| +--- com.android.support:support-annotations:26.0.2
| +--- com.android.support:support-v4:26.0.2
| | +--- com.android.support:support-compat:26.0.2
| | | \--- com.android.support:support-annotations:26.0.2
| | +--- com.android.support:support-media-compat:26.0.2
| | | +--- com.android.support:support-annotations:26.0.2
| | | \--- com.android.support:support-compat:26.0.2 (*)
| | +--- com.android.support:support-core-utils:26.0.2
| | | +--- com.android.support:support-annotations:26.0.2
| | | \--- com.android.support:support-compat:26.0.2 (*)
| | +--- com.android.support:support-core-ui:26.0.2
| | | +--- com.android.support:support-annotations:26.0.2
| | | \--- com.android.support:support-compat:26.0.2 (*)
| | \--- com.android.support:support-fragment:26.0.2
| | +--- com.android.support:support-compat:26.0.2 (*)
| | +--- com.android.support:support-core-ui:26.0.2 (*)
| | \--- com.android.support:support-core-utils:26.0.2 (*)
| +--- com.android.support:support-vector-drawable:26.0.2
| | +--- com.android.support:support-annotations:26.0.2
| | \--- com.android.support:support-compat:26.0.2 (*)
| \--- com.android.support:animated-vector-drawable:26.0.2
| +--- com.android.support:support-vector-drawable:26.0.2 (*)
| \--- com.android.support:support-core-ui:26.0.2 (*)
+--- io.reactivex.rxjava2:rxjava:2.2.2
| \--- org.reactivestreams:reactive-streams:1.0.2
+--- com.squareup.retrofit2:adapter-rxjava2:2.3.0
| +--- com.squareup.retrofit2:retrofit:2.3.0 (*)
| \--- io.reactivex.rxjava2:rxjava:2.0.0 -> 2.2.2 (*)
+--- com.trello.rxlifecycle2:rxlifecycle:2.2.0
| \--- io.reactivex.rxjava2:rxjava:2.1.3 -> 2.2.2 (*)
+--- com.android.support:appcompat-v7:23.1.0 -> 26.0.2 (*)
\--- com.sq
二、若提示不是内部命令,则需要配置用户系统变量:
windows os
切换到“我的电脑”配置Path--(配置用户Path,配置系统Path会失败)
- 新建一个-GRADLE_HOME (即gradle 路径): C:\Users\计算机名.gradle\wrapper\dists...(到bin的上级目录)
- 在用户Path后面添加:";%GRADLE_HOME%\bin"
- 打开命令行窗口,输入 gradle -v (出现gradle详情即说明配置成功)
mac os
三、去除依赖冲突
例如添加依赖com.recker.flybanner:flybanner:1.3,
命令结果显示:
\--- com.recker.flybanner:flybanner:1.3
+--- com.android.support:appcompat-v7:23.1.0 -> 26.0.2 (*)
说明该依赖包中包含:23.1.0版本的support:appcompat,与自己的26.0.2的版本不一致,一般情况下,系统会自动提升到高版本,可以不用处理。或者如下处理,去除不同版本冲突
implementation ('com.recker.flybanner:flybanner:1.3'){
exclude group: 'com.android.support', module: 'appcompat-v7'
}
4.若一个依赖中有多个包冲突,如下:
implementation ('com.recker.flybanner:flybanner:1.3'){
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'support-annotations'
}
项目运行不起来,xml布局无法预览等问题
可以通过Terminal 面板执行以下命令后,查看具体错误定位:
gradlew processDebugManifest --stacktrace
Gradle版本问题:
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguide/command_line_interface.html#sec:command_line_warnings
警告:因为我们的Gradle之中使用了老版本的特性,在新的gradle之中被废弃了告。
可以通过Terminal 面板执行以下命令: gradlew --warning-mode all
得到具体的哪些方法被新版本给抛弃了。然后再根据结果进行处理。