Andriy
Andriy
  • 发布:2021-09-23 17:18
  • 更新:2021-09-26 10:56
  • 阅读:937

【报Bug】Android离线打包在SDK版本Android-SDK@3.2.3.81011_20210826中使用uni.scanCode函数时报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Big Sur 11.5.2 (20G95)

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: OPPO

手机机型: OPPO R11s

页面类型: vue

打包方式: 离线

项目创建方式: CLI

CLI版本号: 2.0.0-32320210825001

App下载地址或H5⽹址: https://www.pgyer.com/3a7e33f4abe9d996027d1f0b8cd72d68

示例代码:
2021-09-23 16:52:21.148 7248-7248/com.cestbon.marketing.assistant.dev D/DCloud_LOG: AdaFrameView.dispatchFrameViewEvents type=touchstart;args=720  
2021-09-23 16:52:21.148 7248-7248/com.cestbon.marketing.assistant.dev D/yl: NWindow.onCallBack pEventType=touchstart;720;  
2021-09-23 16:52:21.162 7248-7248/com.cestbon.marketing.assistant.dev E/DisplayEventDispatcher: dispatcher 0x7ec8928bd0 ~ last event processed while scheduling was for 185061089  
2021-09-23 16:52:21.304 7248-7248/com.cestbon.marketing.assistant.dev E/UIWidgetMgr: new -- JSNWindow=  
2021-09-23 16:52:21.305 7248-7248/com.cestbon.marketing.assistant.dev E/DCloud_LOG: createNWindow pUrl=  
2021-09-23 16:52:21.305 7248-7248/com.cestbon.marketing.assistant.dev D/Layout_Path: WindowMgr createWindow  
2021-09-23 16:52:21.308 7248-7248/com.cestbon.marketing.assistant.dev I/dhframeview: construction Count=9  
2021-09-23 16:52:21.321 7248-7248/com.cestbon.marketing.assistant.dev E/WXViewWrapper: WXViewWrapper----------isPre=false  wxid=NWindow811632387141297  
2021-09-23 16:52:21.323 7248-7248/com.cestbon.marketing.assistant.dev E/DCloud_LOG: createWindow before _url=  
2021-09-23 16:52:21.324 7248-7248/com.cestbon.marketing.assistant.dev E/DCloud_LOG: createWindow after _url=  
2021-09-23 16:52:21.330 7248-7318/com.cestbon.marketing.assistant.dev I/platform: ClassNotFoundException io.dcloud.feature.cf.cFeatureImpl getEncryptionInputStream  
2021-09-23 16:52:21.346 7248-7248/com.cestbon.marketing.assistant.dev D/winmgr: createWindow use LayoutParams.MATCH_PARENT !  
2021-09-23 16:52:21.351 7248-7248/com.cestbon.marketing.assistant.dev D/adadad: addNativeView outterio.dcloud.feature.nativeObj.TitleNView{fc023d7 V.ED..... ......I. 0,0-0,0}  
2021-09-23 16:52:21.352 7248-7248/com.cestbon.marketing.assistant.dev D/adadad: addNativeView inner<UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......I. 0,0-0,0}  
2021-09-23 16:52:21.397 7248-7248/com.cestbon.marketing.assistant.dev D/winmgr: createWindow end !  
2021-09-23 16:52:21.398 7248-7248/com.cestbon.marketing.assistant.dev I/useTime: name :createFrameView; <<-- createFrameView -->> wholeUseTime = 93  
2021-09-23 16:52:21.398 7248-7248/com.cestbon.marketing.assistant.dev E/useTime: name :createFrameView; <<-- createFrameView耗时: -->> useTime = 93  
2021-09-23 16:52:21.399 7248-7248/com.cestbon.marketing.assistant.dev D/View_Visible_Path: setParent <UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......I. 0,0-0,0}  
2021-09-23 16:52:21.399 7248-7248/com.cestbon.marketing.assistant.dev D/DCloud_LOG: DHAppRootView.pushFrameView<UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......I. 0,0-0,0}  
2021-09-23 16:52:21.405 7248-7248/com.cestbon.marketing.assistant.dev D/View_Visible_Path: __UNI__C61F80A createNWindow webview_name=page1632387141296  
2021-09-23 16:52:21.407 7248-7248/com.cestbon.marketing.assistant.dev I/Choreographer: Skipped 5 frames!  The application may be doing too much work on its main thread.  
2021-09-23 16:52:21.436 7248-7248/com.cestbon.marketing.assistant.dev D/DCloud_LOG: AdaFrameView.dispatchFrameViewEvents type=resize;args={"width":360,"height":720}  
2021-09-23 16:52:21.436 7248-7248/com.cestbon.marketing.assistant.dev D/yl: NWindow.onCallBack pEventType=resize;{"width":360,"height":720};  
2021-09-23 16:52:21.436 7248-7248/com.cestbon.marketing.assistant.dev D/DCloud_LOG: execCallback pEventType=resize;  
2021-09-23 16:52:21.457 7248-7248/com.cestbon.marketing.assistant.dev I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.  
2021-09-23 16:52:21.465 7248-7248/com.cestbon.marketing.assistant.dev D/Animation_Path: showWindow<UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......ID 0,0-1080,2160}  
2021-09-23 16:52:21.466 7248-7248/com.cestbon.marketing.assistant.dev D/View_Visible_Path: AdaFrameView.setVisible pVisibletrue       <UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......ID 0,0-1080,2160}  
2021-09-23 16:52:21.467 7248-7248/com.cestbon.marketing.assistant.dev D/Animation_Path: onWillDoAnimation <UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......ID 0,0-1080,2160}  
2021-09-23 16:52:21.468 7248-7248/com.cestbon.marketing.assistant.dev E/mabo: B页面386070691是否启用截图动画方案:false  
2021-09-23 16:52:21.468 7248-7248/com.cestbon.marketing.assistant.dev E/mabo: B页面是否启用截图动画方案:false | pop-in  
2021-09-23 16:52:21.470 7248-7248/com.cestbon.marketing.assistant.dev E/mabo: C页面698866901是否启用截图动画方案:false  
2021-09-23 16:52:21.472 7248-7248/com.cestbon.marketing.assistant.dev D/Animation_Path: showOrHideShowAnimator _animType=pop-in  
2021-09-23 16:52:21.472 7248-7248/com.cestbon.marketing.assistant.dev D/Animation_Path: showOrHideShowAnimator _animType=pop-in;fromXDelta=1080;toXDelta=0;fromYDelta=0;toYDelta=0  
2021-09-23 16:52:21.473 7248-7248/com.cestbon.marketing.assistant.dev D/AnimOptions: timingfunction = linear  
2021-09-23 16:52:21.474 7248-7248/com.cestbon.marketing.assistant.dev D/View_Visible_Path: show <UUID=NWindow811632387141297>;io.dcloud.feature.weex.WXViewWrapper{f04f4c4 V..D..... ......ID 0,0-1080,2160};webview_name=page1632387141296  
2021-09-23 16:52:21.478 7248-7248/com.cestbon.marketing.assistant.dev E/DisplayEventDispatcher: dispatcher 0x7ec8928bd0 ~ last event processed while scheduling was for 185061404  
2021-09-23 16:52:21.489 7248-7248/com.cestbon.marketing.assistant.dev E/DHFrameView: ---------------------onAnimationStart  
2021-09-23 16:52:21.500 7248-7276/com.cestbon.marketing.assistant.dev E/weex: end getBundleType type:Vue time:1  
2021-09-23 16:52:21.506 7248-7276/com.cestbon.marketing.assistant.dev E/timeline: createInstance :1632387141506  
2021-09-23 16:52:21.512 7248-7276/com.cestbon.marketing.assistant.dev E/jsEngine: script_bridge_in_multi_process.cpp:473,ScriptBridgeInMultiProcess::CreateInstance and Id is : 2  
2021-09-23 16:52:21.636 7248-7276/com.cestbon.marketing.assistant.dev I/WeexCore: render_manager.cpp:52,RenderManager::CreatePage, id: 2  
2021-09-23 16:52:21.656 7248-7276/com.cestbon.marketing.assistant.dev I/WeexCore: render_manager.cpp:393,RenderManager::CreateFinish, id: 2  
2021-09-23 16:52:21.665 7248-7248/com.cestbon.marketing.assistant.dev W/g.assistant.de: Accessing hidden field Landroid/widget/ScrollView;->mScroller:Landroid/widget/OverScroller; (light greylist, reflection)  
2021-09-23 16:52:21.665 7248-7248/com.cestbon.marketing.assistant.dev W/g.assistant.de: Accessing hidden field Landroid/widget/ScrollView;->mMinimumVelocity:I (light greylist, reflection)  
2021-09-23 16:52:21.678 7248-7248/com.cestbon.marketing.assistant.dev I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.  
2021-09-23 16:52:21.709 7248-7248/com.cestbon.marketing.assistant.dev W/Choreographer: Already have a pending vsync event.  There should only be one at a time.  
2021-09-23 16:52:21.723 7248-7248/com.cestbon.marketing.assistant.dev I/MediaPlayer: new MediaPlayer()  
2021-09-23 16:52:21.723 7248-7248/com.cestbon.marketing.assistant.dev I/MediaPlayer: new mediaplayer ,packageName = com.cestbon.marketing.assistant.dev  
2021-09-23 16:52:21.723 7248-7248/com.cestbon.marketing.assistant.dev I/MediaPlayer: isPlaying() isOppoCreate=false  
2021-09-23 16:52:21.735 7248-7248/com.cestbon.marketing.assistant.dev W/MediaPlayer: Use of stream types is deprecated for operations other than volume control  
2021-09-23 16:52:21.735 7248-7248/com.cestbon.marketing.assistant.dev W/MediaPlayer: See the documentation of setAudioStreamType() for what to use instead with android.media.AudioAttributes to qualify your playback use case  
2021-09-23 16:52:21.738 7248-7248/com.cestbon.marketing.assistant.dev I/MediaPlayer: setDataSource(FileDescriptor, long, long) isOppoCreate=false  
2021-09-23 16:52:21.738 7248-7248/com.cestbon.marketing.assistant.dev D/MediaPlayer: closeFd()  
2021-09-23 16:52:21.751 7248-7248/com.cestbon.marketing.assistant.dev I/MediaPlayer: prepare() isOppoCreate=false  
2021-09-23 16:52:21.788 7248-7313/com.cestbon.marketing.assistant.dev E/libc: Access denied finding property "vendor.camera.aux.packagelist"  
2021-09-23 16:52:21.793 7248-7313/com.cestbon.marketing.assistant.dev I/chatty: uid=10209(com.cestbon.marketing.assistant.dev) pool-7-thread-1 identical 1 line  
2021-09-23 16:52:21.798 7248-7313/com.cestbon.marketing.assistant.dev E/libc: Access denied finding property "vendor.camera.aux.packagelist"  
2021-09-23 16:52:21.800 7248-7313/com.cestbon.marketing.assistant.dev D/Camera: mHypnusCtrl is true  
2021-09-23 16:52:21.800 7248-7313/com.cestbon.marketing.assistant.dev E/CheckPermission: camera-code= 3  
2021-09-23 16:52:21.833 7248-7313/com.cestbon.marketing.assistant.dev W/CameraBase: An error occurred while connecting to camera 0: Status(-8): '1: validateClientPermissionsLocked:987: Caller "com.cestbon.marketing.assistant.dev" (PID 10209, UID 7248) cannot open camera "0" without camera permission'  
2021-09-23 16:52:21.839 7248-7313/com.cestbon.marketing.assistant.dev W/System.err: java.lang.RuntimeException: Fail to connect to camera service  
2021-09-23 16:52:21.840 7248-7248/com.cestbon.marketing.assistant.dev E/Html5Plus-SplashClosed: 1632387141840  
2021-09-23 16:52:21.840 7248-7248/com.cestbon.marketing.assistant.dev E/Main_Path: closeSplashScreen0 appid=__UNI__C61F80A;false;closeSplashDid=true  
2021-09-23 16:52:21.843 7248-7248/com.cestbon.marketing.assistant.dev I/Choreographer: Skipped 8 frames!  The application may be doing too much work on its main thread.  
2021-09-23 16:52:21.844 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at android.hardware.Camera.<init>(Camera.java:655)  
2021-09-23 16:52:21.844 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at android.hardware.Camera.open(Camera.java:484)  
2021-09-23 16:52:21.844 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.barcode2.camera.CameraManager.getCR(SourceFile:1)  
2021-09-23 16:52:21.844 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView.setLayoutParams(BarcodeView.java:442)  
2021-09-23 16:52:21.844 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView.addBarcodeView(BarcodeView.java:198)  
2021-09-23 16:52:21.845 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView.access$300(BarcodeView.java:62)  
2021-09-23 16:52:21.845 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView$2.run(BarcodeView.java:175)  
2021-09-23 16:52:21.845 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  
2021-09-23 16:52:21.845 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  
2021-09-23 16:52:21.845 7248-7313/com.cestbon.marketing.assistant.dev W/System.err:     at java.lang.Thread.run(Thread.java:764)  
2021-09-23 16:52:21.853 7248-7248/com.cestbon.marketing.assistant.dev E/DHFrameView: ---------------------onAnimationEnd  
2021-09-23 16:52:21.861 7248-7248/com.cestbon.marketing.assistant.dev W/Choreographer: Already have a pending vsync event.  There should only be one at a time.  
2021-09-23 16:52:21.867 7248-7326/com.cestbon.marketing.assistant.dev E/libc: Access denied finding property "vendor.camera.aux.packagelist"  
2021-09-23 16:52:21.869 7248-7326/com.cestbon.marketing.assistant.dev I/chatty: uid=10209(com.cestbon.marketing.assistant.dev) pool-7-thread-3 identical 1 line  
2021-09-23 16:52:21.872 7248-7326/com.cestbon.marketing.assistant.dev E/libc: Access denied finding property "vendor.camera.aux.packagelist"  
2021-09-23 16:52:21.874 7248-7326/com.cestbon.marketing.assistant.dev D/Camera: mHypnusCtrl is true  
2021-09-23 16:52:21.874 7248-7326/com.cestbon.marketing.assistant.dev E/CheckPermission: camera-code= 3  
2021-09-23 16:52:21.891 7248-7248/com.cestbon.marketing.assistant.dev E/SafeRunnable: SafeRunnable run throw expection:abstract method "android.graphics.Rect com.facebook.drawee.interfaces.DraweeHierarchy.getBounds()"  
2021-09-23 16:52:21.891 7248-7248/com.cestbon.marketing.assistant.dev D/AndroidRuntime: Shutting down VM  
2021-09-23 16:52:21.893 7248-7326/com.cestbon.marketing.assistant.dev W/CameraBase: An error occurred while connecting to camera 0: Status(-8): '1: validateClientPermissionsLocked:987: Caller "com.cestbon.marketing.assistant.dev" (PID 10209, UID 7248) cannot open camera "0" without camera permission'  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err: java.lang.RuntimeException: Fail to connect to camera service  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at android.hardware.Camera.<init>(Camera.java:655)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at android.hardware.Camera.open(Camera.java:484)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.barcode2.camera.CameraManager.getCR(SourceFile:1)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView.setLayoutParams(BarcodeView.java:442)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView.access$400(BarcodeView.java:62)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at io.dcloud.feature.weex_barcode.BarcodeView$3.run(BarcodeView.java:187)  
2021-09-23 16:52:21.894 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  
2021-09-23 16:52:21.895 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  
2021-09-23 16:52:21.895 7248-7326/com.cestbon.marketing.assistant.dev W/System.err:     at java.lang.Thread.run(Thread.java:764)  
2021-09-23 16:52:21.898 7248-7433/com.cestbon.marketing.assistant.dev D/SoLoader: About to load: libimagepipeline.so  
2021-09-23 16:52:21.899 7248-7433/com.cestbon.marketing.assistant.dev D/SoLoader: libimagepipeline.so not found on /data/data/com.cestbon.marketing.assistant.dev/lib-main  
2021-09-23 16:52:21.899 7248-7433/com.cestbon.marketing.assistant.dev D/SoLoader: libimagepipeline.so found on /data/app/com.cestbon.marketing.assistant.dev--9J4B1TPsraRQ_25ngdtwg==/lib/arm64  
2021-09-23 16:52:21.899 7248-7433/com.cestbon.marketing.assistant.dev D/SoLoader: Not resolving dependencies for libimagepipeline.so  

    --------- beginning of crash  
2021-09-23 16:52:21.900 7248-7248/com.cestbon.marketing.assistant.dev E/AndroidRuntime: FATAL EXCEPTION: main  
    Process: com.cestbon.marketing.assistant.dev, PID: 7248  
    java.lang.AbstractMethodError: abstract method "android.graphics.Rect com.facebook.drawee.interfaces.DraweeHierarchy.getBounds()"  
        at com.facebook.drawee.controller.AbstractDraweeController.getDimensions(AbstractDraweeController.java:874)  
        at com.facebook.drawee.controller.AbstractDraweeController.obtainExtras(AbstractDraweeController.java:852)  
        at com.facebook.drawee.controller.AbstractDraweeController.obtainExtras(AbstractDraweeController.java:866)  
        at com.facebook.drawee.controller.AbstractDraweeController.reportSubmit(AbstractDraweeController.java:804)  
        at com.facebook.drawee.controller.AbstractDraweeController.submitRequest(AbstractDraweeController.java:555)  
        at com.facebook.drawee.controller.AbstractDraweeController.onAttach(AbstractDraweeController.java:450)  
        at com.facebook.drawee.view.DraweeHolder.attachController(DraweeHolder.java:248)  
        at com.facebook.drawee.view.DraweeHolder.attachOrDetachController(DraweeHolder.java:265)  
        at com.facebook.drawee.view.DraweeHolder.onVisibilityChange(DraweeHolder.java:134)  
        at io.dcloud.feature.weex.adapter.Fresco.DCRootDrawable.setVisible(DCRootDrawable.java:30)  
        at android.widget.ImageView.updateDrawable(ImageView.java:1026)  
        at android.widget.ImageView.setImageDrawable(ImageView.java:573)  
        at com.facebook.drawee.view.DraweeView.setController(DraweeView.java:133)  
        at io.dcloud.feature.weex.adapter.FrescoImageAdapter.setImage(FrescoImageAdapter.java:195)  
        at io.dcloud.feature.weex.adapter.FrescoImageAdapter.access$000(FrescoImageAdapter.java:66)  
        at io.dcloud.feature.weex.adapter.FrescoImageAdapter$2.run(FrescoImageAdapter.java:117)  
        at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:71)  
        at android.os.Handler.handleCallback(Handler.java:873)  
        at android.os.Handler.dispatchMessage(Handler.java:99)  
        at android.os.Looper.loop(Looper.java:242)  
        at android.app.ActivityThread.main(ActivityThread.java:7240)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:906)

操作步骤:
  1. 打开《销售助手Dev》应用程序。
  2. 输入用户名和密码登录。
  3. 等待同步数据完成后点击右上角按钮进入到应用首页。
  4. 在应用程序底部菜单中选择“拜访”按钮,选择第一条数据。
  5. 选择“设备强化检查”功能并点击确定进入页面。
  6. 点击右下角“+”号按钮进入“新发现设备”页面。
  7. 点击“扫描”按钮,此时在Android平台会必现改问题。

预期结果:

在Android平台离线打包中可以正常使用uni.scanCode函数完成扫码功能。

实际结果:

在Android原生壳中报出异常E/SafeRunnable: SafeRunnable run throw expection:abstract method "android.graphics.Rect com.facebook.drawee.interfaces.DraweeHierarchy.getBounds()"

bug描述:

在使用uni.scanCode函数进行扫码功能时,在Android平台会报出异常,iOS平台离线打包和使用HBuilderX进行Android平台云打包时也无该问题。
从最后的错误信息来看是在AbstractDraweeController抽象类中执行getDimensions()方法时会执行SettableDraweeHierarchy接口的getBounds()方法,但是通过Debug来看此时SettableDraweeHierarchy接口的实例对象是DCGenericDraweeHierarchy类,但在该类中并没有发现getBounds()方法的实现。

2021-09-23 17:18 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

看信息 你应该是用了高版本的Fresco 请使用'com.facebook.fresco:fresco:1.13.0',或者使用最新的alpha版本已适配部分高版本的Fresco

  • Andriy (作者)

    已经解决,多谢!

    2021-09-26 22:35

该问题目前已经被锁定, 无法添加新回复