Code Monkey home page Code Monkey logo

easeui's Introduction

EaseIMKit

简介

EaseIMKit是一个基于环信sdk的UI库,封装了IM功能常用的控件、fragment等等。
github上的代码不包含环信sdk,需要依赖环信IM 3.x版本的SDK使用,建议与环信的IM demo一起使用。

关于分支

当前分支EaseIMKit分支是EaseIMKit UI库的开源分支。开发者使用时,建议使用EaseIMKit的远程依赖。

关于Gradle接入

使用MavenCentral仓库,需要在项目根目录build.gradle中配置:

buildscript {
   repositories {
       ...
       mavenCentral()
   }
}


allprojects {
   repositories {
       ...
       mavenCentral()
   }
}

在module的build.gradle里加入以下依赖:

implementation 'io.hyphenate:ease-im-kit:xxx版本'
implementation 'io.hyphenate:hyphenate-chat:xxx版本'

其中,xxx版本请替换为最新的aar版本号。
最新版本号请跳转到这里进行查看:http://docs-im.easemob.com/im/android/sdk/releasenote

相关文档

快速集成请参考文档:http://docs-im.easemob.com/im/android/other/easeimkit
IM SDK集成请参考集成说明:http://docs-im.easemob.com/im/android/sdk/import

easeui's People

Contributors

apex-wang avatar githubzhaoliang avatar jinanzhuan avatar lihao667788 avatar lijian1122 avatar wangxinjeff avatar winskyan avatar xuchengpu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easeui's Issues

主分支缺少文件

import com.easemob.util.EMLog;

import com.easemob.chat.EMChatManager;
import com.easemob.chat.EMChatRoom;
import com.easemob.chat.EMConversation;
import com.easemob.chat.EMConversation.EMConversationType;
import com.easemob.chat.EMGroup;
import com.easemob.chat.EMGroupManager;
import com.easemob.chat.EMMessage;
import com.easemob.chat.EMMessage.Direct;

我下载的主分支代码少这几个类啊

内存泄漏

将EaseUI 集成到项目中,调用百度地图界面,发送位置后,存在内存泄漏

缺少jar包

com.easemob.redpacketsdk.RedPacket,提示这个类没有。很多类找不到。redparketlibrary这个库不存在。

easeui那去了?

easeui那去了?
之前的easeui库不香吗?改成现在的垃圾

导入easeUI model 报错

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\Lanmei\Product\XuYangXueJun\easeui\build.gradle' line: 39

  • What went wrong:
    A problem occurred evaluating project ':easeui'.

Could not find method testImplementation() for arguments [com.android.support.test.espresso:espresso-core:2.2.2, build_5m3d1r129n9vqgygjt200zoqr$_run_closure2$_closure7@2fd01d59] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.6/userguide/command_line_interface.html#sec:command_line_warnings

CONFIGURE FAILED in 0s
Could not find method testImplementation() for arguments [com.android.support.test.espresso:espresso-core:2.2.2, build_5m3d1r129n9vqgygjt200zoqr$_run_closure2$_closure7@2fd01d59] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Open File

报错

报错
import com.easemob.util.EMLog; 找不到

运行错误

你代码运行不了,还得自己导入sdk, so文件,你就不能自己在工程里面引入,程序员能懒成你们这样也是醉了。

fuck

fuck,i can`t run this,this is shit

java.lang.IllegalArgumentException

Couldn't find meta-data for provider with authority com.wsg.xsybbs.fileProvider

com.hyphenate.easeui.utils.EaseCompat.getUriForFile(EaseCompat.java:252)

用户反馈说是点击拍照返回时,发生了崩溃。机型是小米8。
详见:stevenwsg/XSYBBS#7

这个是不是在3.8.2版本添加localpath修复了?

你们能不能更新一下百度地图定位的集成方式, 旧的文档现在不适合新的SDK,爆红了

卡顿问题

问题描述:
应用长时间没登录,等下次登录会有几万条消息推送过来,导致界面卡顿无法操作,这种情况要怎么处理呢?

studio报错

添加依赖后运行就报错

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class

编译报错

错误: 找不到符号 符号: 方法 deliverOnlineOnly(boolean) 位置: 类型为EMCmdMessageBody的变量 body

错误: 找不到符号 符号: 方法 isDeliverOnlineOnly() 位置: 类型为EMCmdMessageBody的变量 body |

是否可将 ui-kit 多模块化

个人见解,如官方文档指出,会将fragment 和 activity 抽离到demo中,亦有同感,如今的gradle依赖方式接入产生的安装包体积过大的问题还是需要开发者自己去解决的,提一点个人拙见,抛砖引玉。

  1. gradle中的implementation应替换为api
  2. 将当前的com.hyphenate:ease-im-kit解耦成多个,便于维护和开发者快速修复
└── ease-im-kit
    ├── ui-simple                   //  fragment activity 级别的组件 
    ├── extension-chat-emojicon     //  聊天插件表情 基础或者自定义
    ├── extension-chat-location     //  聊天插件 定位  便于解耦 毕竟也可以使用高德嘛
    ├── view-chat                   //  聊天相关的组件
    ├── view-contract               //  联系人相关的组件
    ├── view-conversation           //  会话相关的组件
    └── view-base                   //  基础组件

发现一个内存泄漏

image
这个是聊天时,发送图片成功后遇到的。
版本是3.8.1

感觉好多都是匿名类持有外部类的引用引起的

引入easeui module的时候编译报错

  • What went wrong:
    Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'.

More than one file was found with OS independent path 'lib/arm64-v8a/libhyphenate.so'

studio

这个项目确认可以使用android studio导入运行?

混淆打包

debug直接debug运行的时候没有问题,但是混淆打包后进聊天页面就会崩溃,已经添加混淆代码

java.lang.ClassNotFoundException

Didn't find class "com.baidu.mapapi.SDKInitializer" on path: DexPathList[[zip file "/data/app/com.wsg.xsybbs-cV3aFZaj3ONd79ynx_aYHA==/base.apk"],nativeLibraryDirectories=[/data/app/com.wsg.xsybbs-cV3aFZaj3ONd79ynx_aYHA==/lib/arm64, /data/app/com.wsg.xsybbs-cV3aFZaj3ONd79ynx_aYHA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]

com.hyphenate.easeui.ui.EaseBaiduMapActivity.onCreate(EaseBaiduMapActivity.java:90)

我用的是3.8.1的版本。

这个是什么问题啊?一个小米8这个crash发生了五次

建议更新最新的版本

花了半个小时主库弄好,module也导入了,然后发现库里面用的sdk是旧的。然后就。。。呵呵呵

消息监听

程序未启动时,消息怎么接收?程序的onMessageReceived还能收到吗

缺少java文件

EaseEmojiconScrollTabBar这个文件中使用了DensityUtil,但是在easeui中并没有这文件,希望核实后提交一下

百度地图初始化引起的Crash

使用的版本:
implementation 'io.hyphenate:ease-im-kit:3.8.3'
implementation 'io.hyphenate:hyphenate-chat:3.8.3'

聊天时点击发送位置,发生crash。堆栈为:
07-11 12:12:33.143 1916-1916/com.wsg.xsybbs E/CrashReport: Java Crash Happen cause by main(1)
07-11 12:12:33.154 1916-1916/com.wsg.xsybbs E/CrashReport: stack frame :13, has cause true
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: #++++++++++Record By Bugly++++++++++#
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # You can use Bugly(http:\bugly.qq.com) to get more Crash Detail!
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # PKG NAME: com.wsg.xsybbs
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # APP VER: 1.0
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # SDK VER: 3.3.92
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # LAUNCH TIME: 2021-07-11 12:07:28
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH TYPE: JAVA_CRASH
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH TIME: 2021-07-11 12:12:33
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH PROCESS: com.wsg.xsybbs
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH THREAD: main
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # REPORT ID: 9398fd2f-daef-4612-9a08-a112b85fe7dc
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH DEVICE: MuMu UNROOT
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # RUNTIME AVAIL RAM:6515027968 ROM:133846048768 SD:133846048768
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # RUNTIME TOTAL RAM:3715092480 ROM:135148310528 SD:135148310528
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: # CRASH STACK:
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/baidu/mapapi/SDKInitializer;
at com.hyphenate.easeui.ui.EaseBaiduMapActivity.onCreate(EaseBaiduMapActivity.java:90)
at android.app.Activity.performCreate(Activity.java:6279)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5606)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.baidu.mapapi.SDKInitializer" on path: DexPathList[[zip file "/data/app/com.wsg.xsybbs-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wsg.xsybbs-1/lib/x86, /data/app/com.wsg.xsybbs-1/base.apk!/lib/x86, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at com.hyphenate.easeui.ui.EaseBaiduMapActivity.onCreate(EaseBaiduMapActivity.java:90) 
at android.app.Activity.performCreate(Activity.java:6279) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5606) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635) 
Suppressed: java.lang.ClassNotFoundException: com.baidu.mapapi.SDKInitializer
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 14 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
07-11 12:12:33.163 1916-1916/com.wsg.xsybbs E/CrashReport: #++++++++++++++++++++++++++++++++++++++++++#
07-11 12:12:33.269 1916-1916/? E/CrashReport: sys default last handle start!

--------- beginning of crash

07-11 12:12:33.269 1916-1916/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wsg.xsybbs, PID: 1916
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/baidu/mapapi/SDKInitializer;
at com.hyphenate.easeui.ui.EaseBaiduMapActivity.onCreate(EaseBaiduMapActivity.java:90)
at android.app.Activity.performCreate(Activity.java:6279)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5606)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.baidu.mapapi.SDKInitializer" on path: DexPathList[[zip file "/data/app/com.wsg.xsybbs-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wsg.xsybbs-1/lib/x86, /data/app/com.wsg.xsybbs-1/base.apk!/lib/x86, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at com.hyphenate.easeui.ui.EaseBaiduMapActivity.onCreate(EaseBaiduMapActivity.java:90) 
at android.app.Activity.performCreate(Activity.java:6279) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2463) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5606) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635) 
Suppressed: java.lang.ClassNotFoundException: com.baidu.mapapi.SDKInitializer
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 14 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
07-11 12:12:33.283 653-685/? E/InputDispatcher: channel 'bf7505b com.wsg.xsybbs/com.wsg.xsybbs.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-11 12:12:33.284 653-685/? E/InputDispatcher: channel '11b84b1 com.wsg.xsybbs/com.wsg.xsybbs.activity.ChatActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-11 12:12:33.560 2036-2036/com.wsg.xsybbs E/CrashReport: --------------------------------------------------------------------------------------------
07-11 12:12:33.560 2036-2036/com.wsg.xsybbs E/CrashReport: --------------------------------------------------------------------------------------------
07-11 12:12:33.925 2036-2036/com.wsg.xsybbs E/EMPushConfig: senderId can't be empty when enable FCM push !
07-11 12:12:33.927 2036-2036/com.wsg.xsybbs E/EMPushHelper: EMPushHelper init, config: EMPushConfig{fcmSenderId='null', hwAppId='null', miAppId='null', miAppKey='null', mzAppId='null', mzAppKey='null', oppoAppKey='null', oppoAppSecret='null', vivoAppId='null', vivoAppKey='null', enabledPushTypes=[]}
07-11 12:12:33.946 2036-2036/com.wsg.xsybbs E/EMClient: is autoLogin : true
07-11 12:12:33.946 2036-2036/com.wsg.xsybbs E/EMClient: lastLoginUser : wsg
07-11 12:12:33.946 2036-2036/com.wsg.xsybbs E/EMClient: hyphenate SDK is initialized with version : 3.8.3

是我初始化的方式有问题嘛?内部找不到百度初始化这个类

文档不更新。这里的代码是老的。下载的sdk里面的例子里的easyui结构是默认的。

把新的上传上传吧,跟新文档,别然人家找到这里了,把这个项目删除了吧。
这都是啥乱七八糟的。 sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
},新的sdk里面的代码已经没有了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.