Android Studio 4.0 集成环信sdk EaseUI全纪录
因为B站尚硅谷Android视频教程《硅谷社交_项目实战》BV1cW411V7yd中的聊天室项目产生兴趣,所以想跟着写一下,但是众多观众在P6:集成环信sdk及EaseUI时遭遇挫折
网上的攻略大部分是AS2或3的记录,我通过综合B站视频,官方文档http://docs-im.easemob.com/im/android/other/easeui,http://docs-im.easemob.com/im/android/sdk/import,
旧版攻略https://blog.csdn.net/cekiasoo/article/details/81714061,实现了在Android Studio 4.0 的集成,现与大家分享经验。
如果大家有什么疑问,可以邮件交流1069176850@qq.com
0.新建一个app,版本不限,我的是
compileSdkVersion 29
buildToolsVersion "30.0.2"
1.官网注册AppID,从官网下载sdk和easeUI module(略)
2.自己选择lite或as版本,将sdk拷贝至app/libs目录下
3.根据官网的指引,修改src\main\AndroidManifest.xml,不兼容的权限我直接注释了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.spl.im"><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- <uses-permission android:name="android.permission.GET_TASKS" />--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><applicationandroid:name=".IMApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"><activity android:name=".controller.activity.MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><!-- 设置环信应用的AppKey --><meta-data android:name="EASEMOB_APPKEY" android:value="你的AppID" /><!-- 声明SDK所需的service SDK核心功能--><service android:name="com.hyphenate.chat.EMChatService" android:exported="true"/><service android:name="com.hyphenate.chat.EMJobService"android:permission="android.permission.BIND_JOB_SERVICE"android:exported="true"/><!-- 声明SDK所需的receiver --><receiver android:name="com.hyphenate.chat.EMMonitorReceiver"><intent-filter><action android:name="android.intent.action.PACKAGE_REMOVED"/><data android:scheme="package"/></intent-filter><!-- 可选filter --><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED"/><action android:name="android.intent.action.USER_PRESENT" /></intent-filter></receiver></application></manifest>
4.导入EaseUI,找到下载的easeUI的路径,通过File-New-Import Module,填入路径,import进来
这时,easeui应该存在于Project中
5.修改EaseUI的build.gradle,使其版本与app一致
6.修改app的build.gradle,需要指定libs的位置,以及将androidx包全部替换为v7包
plugins {id 'com.android.application'
}android {compileSdkVersion 29buildToolsVersion "30.0.2"defaultConfig {applicationId "com.spl.im"minSdkVersion 27targetSdkVersion 29versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}sourceSets{main {jniLibs.srcDirs = ['libs']}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation project(path: ':easeui')implementation 'com.android.support:appcompat-v7:28.0.0'implementation 'com.android.support.constraint:constraint-layout:2.0.4'testImplementation 'junit:junit:4.+'}
7.修改最外层的gradle.properties,将
android.useAndroidX=true
android.enableJetifier=true
都注释了
8.尝试build一下,报错Theme的问题,以及layout中的ConstaintLayout问题。
将Manifest.xml中application的style/Theme行直接删了
将res/values/themes.xml以及res/values-night/themes.xml里面引用的内容删了
将layout/activity_main.xml的内容随便改一下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="Hello"/>
</LinearLayout>
9.rebuild project,发现没有报错,运行一下App,出现画面
Android Studio 4.0 集成环信sdk EaseUI全纪录相关推荐
- Android 使用easeui 3.0 集成环信即时通讯 我踩过的坑
0.关于注冊账号就不用说了. 1.创建应用.获取appkey 0.创建应用 1.填写信息 2.获取appkey 2.集成 0.首先新建一个project 1.这里主要介绍使用easeui来集成环信的即 ...
- 环信IM SDK使用(一):集成环信SDK及注意事项
环信IM SDK可以帮助用户快速开发IM相关的应用.如何快速集成环信IM SDK呢? 首先附上环信官网的集成SDK的文档:Android SDK 介绍及导入 一.集成环信IM SDK 1.申请环信Ap ...
- Vue 简单集成环信SDK
在这里简单记录下 vue 集成环信 Web SDK 操作,简单SDK操作记录,没有完整demo,勿喷! 准备工作 一. 下载环信 Web SDK + Demo 到本地 git clone https: ...
- 集成环信sdk步骤(即时通讯)
步骤: 一,从环信官网注册获得appkey(没有key 无法接入环信服务器) 二, 添加依赖 build.gradle(project) allprojects {repositories {goog ...
- android 集成环信SDK
集成步骤: 1. 首先在你的项目根目录build.gradle文件的allprojects→repositories属性下加入远程库地址 allprojects {repositories {goog ...
- mob sdk vue 短信验证_vueCli集成环信SDK
>[danger]把环信SDK集成到vueCli中 ---- 1. [登录环信即时通信云]([https://www.easemob.com/](https://www.easemob.com/ ...
- java集成环信SDK用户注册
环信常量类 import org.springframework.stereotype.Component;/*** 环信常量保存工具类* * @author zhangxj**/ @Componen ...
- springboot集成环信sdk报错
import io.swagger.client.ApiException; import io.swagger.client.api.MessagesApi; import io.swagger.c ...
- iOS集成环信SDK点击聊天图片无效问题
在EaseMessageReadManager.m的-(void)showBrowserWithImages::(NSArray *)imageArray方法里 最后两句话 UIViewControl ...
最新文章
- 解决SQL Server管理器无法连接远程数据库Error: 1326错误
- mysql大于等于怎么写_数据库中大于等于0小于等于100怎样表达
- 转 Django+Bootstrap练习--我的类博客系统开发
- iOS中UIWebview中网页宽度自适应的问题
- hdu.1254.推箱子(bfs + 优先队列)
- Damon Edwards:IT运营是最可预测的DevOps差异化因素
- 每天一道博弈论之“巴什博弈”
- WCF 安全性 之 None
- 计算机配件模拟,模拟计算机是指什么
- Spring知识点简介
- 浅析C#的事件处理和自定义事件 (转载)
- FISCO BCOS Solidity 智能合约 返回多个值
- JAVA面向对象的三大特性
- 网线制作ppt_制作网线图解讲解.ppt
- 认识一下身边的互联网---经典互联网书籍阅读总结
- 做好软件测试的关键是什么,做好测试计划和测试用例的工作的关键是什么?
- 盖世神器PowerPro使用视频教程-1 程序的安装概述
- mysql如何插入图片和视频_mysql中怎样插入图片
- 13个风格独特的关于(About)页面设计
- 莽莽昆仑开鸿蒙,中国科技人,那些“芳心纵火犯”