Gradle解决编译问题

依赖库版本冲突,查看依赖树

一、在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会失败)

  1.    新建一个-GRADLE_HOME (即gradle 路径):  C:\Users\计算机名.gradle\wrapper\dists...(到bin的上级目录)
  2. 在用户Path后面添加:";%GRADLE_HOME%\bin"
  3. 打开命令行窗口,输入 gradle -v (出现gradle详情即说明配置成功)

mac os

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

得到具体的哪些方法被新版本给抛弃了。然后再根据结果进行处理。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值