解决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'

对应下图红框区域:
更改引入umeng仓库的地址
当界面出现Sync Now的提示后,点击同步仓库代码,然后在Android Studio的Build->Rebuild Project重新构建代码(或者不放心先Build->Clean Project清理之前的编译文件),再点击run运行即可:
更改umeng配置后构建成功

注意

1. duplicate class报错

common包与analytics包不能一并引入
不要将上图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编译中文乱码
参考Android Studio升级3.6 Build窗口出现中文乱码问题解决方法,在Help->Edit Custom VM Options加入一句:

-Dfile.encoding=UTF-8

如下图:
Android Studio解决中文乱码的配置
再次构建项目,运行结果如下:
Android Studio编译中文正确
可以看到中文乱码问题得到解决。

以上是关于解决XUI 1.1.7版本报错问题:gradle因umeng仓库配置失效,导致编译出错的主要内容,如果未能解决你的问题,请参考以下文章

关于Gradle7.0及以上版本报Https的错误的解决方案

Composer要求的PHP版本报错如何解决?

关于Gradle7.0及以上版本报Https的错误的解决方案

mysql版本报错!!(已解决)

Android Studio基础RecyclerView上下滑动鼠标的使用,兼容/版本报错处理

Android Studio基础RecyclerView上下滑动鼠标的使用,兼容/版本报错处理