Android Android Studio 3.3 项目中导入环信的 EaseUI Module

一、前言

最近看到有许多人在说根据环信官方文档导入 EaseUI 会出现各种错误,由于官方(此处和谐省略一万字), 顺便学学新的 add dependencies 方式,记录一下, Android Studio 3.3 add dependencies 方式又改了。

二、运行环境

Android Studio 版本 : 3.3 Canary 5

!运行结果截图

环信 SDK 版本 : easemob-sdk-3.5.0

三、导入 EaseUI

先新建个项目

运行结果截图

下载 easemob-sdk 里面带有 EaseUI

运行结果截图

导入这个 easeui

File -> New -> Import Module

运行结果截图

选择 easeui 所在的路径

运行结果截图

运行结果截图

点击 Finish

运行结果截图

导入之后会有红色的提示,四个都只是 WARNING,把四个 WANRNING 解决掉

运行结果截图

第一个 WANRNING,是 Build Tools 的问题,Android Studio 3.3.0-alpha05 最低支持的 Build Tools 版本是 27.0.3 ,把 easeui 的 build.gradle 的 buildToolsVersion 改为 27.0.3 顺便把 compileSdkVersion 和 targetSdkVersion 也改为 27,同步一下 gradle,第一个 WANRNING 已经没了

运行结果截图

后三个 WANRNING,是 AndroidStudio 3.0 之后的问题,
compile 改为 implementation 或 api,
implementation 和 api 是有区别的,implementation 是指这个导入的 Library 是 Module 内部使用的,别的 Module 导入当前这个 Module 就用不了当前 Module 导入的 Library 的东西,api 是指别的 Module 导入当前这个 Module 后仍然能够使用当前 Module 导入的 Library 的东西,
testCompile 改为 testImplementation,
androidTestCompile 改为 androidTestImplementation,

由于 easeui 的 libs 文件夹里有环信的 hyphenatechat_3.5.0.jar ,由于 app 里要用到 hyphenatechat 里的东西,所以 fileTree() 要用 api 而不是 implementation,改完后同步一下 gradle,剩下的三个 WANRNING 都没了

运行结果截图

接下来 app 添加上 easeui 这个 Module ,在项目右键 Open Module Settings

运行结果截图

选择 Dependencies,Modules 选择 app,Declared dependencies 点击 + 号

运行结果截图

上面 step 1 的 easeui 打上勾,Step 2 选 implementation,点击 OK,再点 Apply 或 OK

运行结果截图

运行结果截图

由于 AndroidStudio 3.2 起开始推荐使用 androidx, 但 easeui 里用的是 android, 所以会报错,要么把 easeui 里的改为 androidx 要么不使用 androidx,改 easeui 的话那就太多要改的了,不使用 androidx 了,

运行结果截图

运行结果截图

打开 gradle.properties 注释掉 android.useAndroidX=true 和 android.enableJetifier=true

运行结果截图

运行结果截图

打开 app 的 build.gradle 也要改,compileSdkVersion, buildToolsVersion, targetSdkVersion 那些改和 easeui 一样的,dependencies androidx 的改为 android 的,改完同步一下 gradle, 由于去掉了 androidx, Activity 里的 AppCompatActivity 和 布局里的 ConstraintLayout 也要改为 android 的而不是 androidx 的

运行结果截图

运行结果截图

看起来好像没什么问题了,先运行一下,

运行结果截图

出问题了,support v4 包没有 AsyncTaskCompat 这个类了,打开 EaseChatRowImage.java 这个类

运行结果截图

去掉 AsyncTaskCompat,改直接执行 AsyncTask ,

运行结果截图

再运行一下,可以运行起来

运行结果截图

四、初

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值