解决XUI 1.1.7版本报错问题:gradle因umeng仓库配置失效,导致编译出错
Posted 蔚尺丈八声
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决XUI 1.1.7版本报错问题:gradle因umeng仓库配置失效,导致编译出错相关的知识,希望对你有一定的参考价值。
报错问题
XUI版本:1.1.7
从XUI项目地址下载XUI项目包,在android Studio构建并运行后,Build一栏报错:
Could not GET 'https://dl.bintray.com/umsdk/release/com/umeng/umsdk/analytics/8.0.2/analytics-8.0.2.pom'. Received status code 403 from server: Forbidden
Disable Gradle 'offline mode' and sync project
问题原因
XUI.app的build.gradle文件中,umeng引入仓库地址(https://dl.bintray.com/umsdk/release/com/umeng/umsdk/analytics/8.0.2/analytics-8.0.2.pom)在gradle编译时连接失败,报错403拒绝访问,导致gradle无法下载umeng仓库。
解决办法
umeng仓库替换地址:https://mvnrepository.com/artifact/com.umeng.umsdk
在XUI\\app\\build.gradle文件中对umeng配置的部分,将
//umeng统计
implementation 'com.umeng.umsdk:analytics:8.1.4'
implementation 'com.umeng.umsdk:common:2.1.8'
改为
//umeng统计
implementation group: 'com.umeng.umsdk', name: 'common', version: '9.3.8'
对应下图红框区域:
当界面出现Sync Now
的提示后,点击同步仓库代码,然后在Android Studio的Build->Rebuild Project
重新构建代码(或者不放心先Build->Clean Project
清理之前的编译文件),再点击run运行即可:
注意
1. duplicate class报错
不要将上图com.umeng.umsdk群组下的analytics包和common包(红圈标注)一块引入:
//umeng统计
runtimeOnly group: 'com.umeng.umsdk', name: 'analytics', version: '1.0.0'
implementation group: 'com.umeng.umsdk', name: 'common', version: '9.3.8'
否则gradle编译的时候,Android Studio的Build一栏会出现duplicate class
报错(报错数量太多,这里只展示一部分):
Duplicate class com.umeng.analytics.AnalyticsConfig found in modules jetified-analytics-1.0 (com.umeng.umsdk:analytics:1.0.0) and jetified-common-9.3.8 (com.umeng.umsdk:common:9.3.8)
Duplicate class com.umeng.analytics.CoreProtocol found in modules jetified-analytics-1.0 (com.umeng.umsdk:analytics:1.0.0) and jetified-common-9.3.8 (com.umeng.umsdk:common:9.3.8)
Duplicate class com.umeng.analytics.CoreProtocol$1 found in modules jetified-analytics-1.0 (com.umeng.umsdk:analytics:1.0.0) and jetified-common-9.3.8 (com.umeng.umsdk:common:9.3.8)
Duplicate class com.umeng.analytics.CoreProtocol$a found in modules jetified-analytics-1.0 (com.umeng.umsdk:analytics:1.0.0) and jetified-common-9.3.8 (com.umeng.umsdk:common:9.3.8)
这是因为common包含有analytics包常用的类,会产生引用冲突,所以只需引入common包即可。
如果感兴趣,想了解怎么解决gradle编译时出现的duplicate class
报错,可以参考:
2. XUI构建时,输出日志中文乱码
Android Studio编译时,Build一栏输出日志中文乱码:
参考Android Studio升级3.6 Build窗口出现中文乱码问题解决方法,在Help->Edit Custom VM Options
加入一句:
-Dfile.encoding=UTF-8
如下图:
再次构建项目,运行结果如下:
可以看到中文乱码问题得到解决。
以上是关于解决XUI 1.1.7版本报错问题:gradle因umeng仓库配置失效,导致编译出错的主要内容,如果未能解决你的问题,请参考以下文章
关于Gradle7.0及以上版本报Https的错误的解决方案
关于Gradle7.0及以上版本报Https的错误的解决方案