fpzeng / KSYStreamer_Android

金山云Android采集推流SDK(Livestream SDK),支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP)、连麦(RTC)、动态贴纸(Sticker)、大眼瘦脸(Bigger Eyes and Smaller Faces)
https://github.com/ksvc/KSYStreamer_Android/releases
730 stars 208 forks source link

小米8推RTMP会在将近1分钟时Crash(有日志). #295

Closed ChandZhang closed 5 years ago

ChandZhang commented 5 years ago

我用小米8(Andoid9)推RTMP流(录屏),会在将近1分钟时(准确说大多数都是在58秒),ScreenActivity会自动Crash? 试其他几个手机没问题。

Crash日志如下:

2019-03-01 18:39:32.098 15197-15197/com.test.zscreenstreamer D/KSYScreenStreamer: Raise video bitrate to 783294 2019-03-01 18:39:32.098 15197-15197/com.test.zscreenstreamer D/ScreenActivity: BW raise to 783kbps 2019-03-01 18:39:33.146 15197-15353/com.test.zscreenstreamer I/ScreenActivity: ***onLogEvent : {"_id":"154e4fe6-2c6c-4e88-acda-79b68695e25d","type":100,"body_type":"networkingStatus","action_id":"C055335485455F72C7D8264D9538EB81","streamId":"C055335485455F72C7D8264D9538EB81","encode_frame_cnt":150,"average_frame":30,"drop_frame_cnt":0,"drop_frame_cnt_am":0,"drop_frame_cnt_bm":0,"send_slow_cnt":0,"upload_speed":33,"network_stat_frequency":5000,"date":1551436773139} 2019-03-01 18:39:34.775 15197-15287/com.test.zscreenstreamer E/AndroidRuntime: FATAL EXCEPTION: Timer-0 Process: com.test.zscreenstreamer, PID: 15197 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/entity/ByteArrayEntity; at com.ksy.statlibrary.log.LogClient.sendRecordJson(LogClient.java:158) at com.ksy.statlibrary.log.LogClient.sendRecord(LogClient.java:315) at com.ksy.statlibrary.log.LogClient.access$300(LogClient.java:43) at com.ksy.statlibrary.log.LogClient$1.run(LogClient.java:288) at java.util.TimerThread.mainLoop(Timer.java:562) at java.util.TimerThread.run(Timer.java:512) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.entity.ByteArrayEntity" on path: DexPathList[[zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/base.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_dependencies_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_resources_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_0_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_1_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_2_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_3_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_4_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_5_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_6_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_7_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_8_apk.apk", zip file "/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/lib/arm64, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/base.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_resources_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:171) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.ksy.statlibrary.log.LogClient.sendRecordJson(LogClient.java:158)  at com.ksy.statlibrary.log.LogClient.sendRecord(LogClient.java:315)  at com.ksy.statlibrary.log.LogClient.access$300(LogClient.java:43)  at com.ksy.statlibrary.log.LogClient$1.run(LogClient.java:288)  at java.util.TimerThread.mainLoop(Timer.java:562)  at java.util.TimerThread.run(Timer.java:512)  Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.test.zscreenstreamer-vRF9uOqc7Dh8JEacs6FcmQ==/split_lib_resources_apk.apk at dalvik.system.DexFile.openDexFileNative(Native Method) at dalvik.system.DexFile.openDexFile(DexFile.java:358) at dalvik.system.DexFile.(DexFile.java:101) at dalvik.system.DexFile.(DexFile.java:75) 2019-03-01 18:39:34.776 15197-15287/com.test.zscreenstreamer E/AndroidRuntime: at dalvik.system.DexPathList.loadDexFile(DexPathList.java:407) at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354) at dalvik.system.DexPathList.(DexPathList.java:164) at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:74) at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:65) at dalvik.system.PathClassLoader.(PathClassLoader.java:64) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40) at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:729) at android.app.LoadedApk.getClassLoader(LoadedApk.java:812) at android.app.LoadedApk.getResources(LoadedApk.java:1034) at android.app.ContextImpl.createAppContext(ContextImpl.java:2357) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5817) at android.app.ActivityThread.access$1200(ActivityThread.java:200) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1673) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6806) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 2019-03-01 18:39:34.817 15197-15287/com.test.zscreenstreamer I/Process: Sending signal. PID: 15197 SIG: 9

ChandZhang commented 5 years ago

解决了。 金山包里依赖了Apache的类,但是却没有把Jar包放进去。 com.ksy.statlibrary.log.LogClient这个类里依赖

ChandZhang commented 5 years ago

需要自己手动添加 httpcore-4.4.11.jar httpclient-4.5.7.jar commons-logging-1.2.jar 这3个Jar包进去。

PS,我明明没开日志,为什么还要用到这几个类?需要开发人员排查一下。