臭脾气男生
臭脾气男生
  • 发布:2024-07-02 11:18
  • 更新:2024-07-16 17:19
  • 阅读:205

开发uts插件,自定义基座打包应用运行崩溃,报错:io.dcloud.common.util.Base64.encode() 空指针

分类:uts

该错误感觉是框架层面异常,麻烦官方技术支持分析分析,可能是什么原因导致的呢?

2024-07-02 11:18 负责人:DCloud_Android_DQQ 分享
已邀请:
臭脾气男生

臭脾气男生 (作者)

uts插件代码如下:

export const myApi : MyApi = function (options : MyApiOptions) {  
    if (options.paramA == true) {  
        // 返回数据  
        let plate = "";  
        let intent = new Intent();  
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
        let componentName = new ComponentName("com.scdytech.tsf.pda", "com.aiseminar.platerecognizer.ui.CameraActivity");  
        intent.setComponent(componentName);  
        UTSAndroid.getUniActivity()!.startActivityForResult(intent, 999);  
        UTSAndroid.onAppActivityResult((requestCode : Int, resultCode : Int, data ?: Intent) => {  
            console.log('onAppActivityResult', requestCode, resultCode);  
            if ((requestCode == 999) && (resultCode == Activity.RESULT_OK)) {  
                let bundle = data!.getExtras();  
                plate = bundle!.get("result") as string;  
                console.log('识别结果:', plate);  
            }  
        })  
        const res : MyApiResult = {  
            fieldA: 85,  
            fieldB: true,  
            fieldC: plate  
        };  
        options.success?.(res);  
        options.complete?.(res);  
    } else {  
        // 返回错误  
        const err = new MyApiFailImpl(9010001);  
        options.fail?.(err)  
        options.complete?.(err)  
    }  
}
DCloud_Android_DQQ

DCloud_Android_DQQ

提个issue 。带上可以复现问题的最简示例代码

  • 臭脾气男生 (作者)

    是这样的,我是用原生android开发了一个车牌识别相机功能,打包aar。然后在项目中开发uts-api插件,插件核心功能先打开车牌识别相机的activity界面,然后拍照识别车牌,返回识别结果。现在问题是一打开相机界面就出现白屏,无响应。查看崩溃日志就是报标题上的错误,摸不着头脑了。

    2024-07-02 11:36

  • 臭脾气男生 (作者)

    插件输出日志为 onAppActivityResult ‍[Int]‍ 999 ‍[Int]‍ 0, resultCode=0

    2024-07-02 11:39

n***@qq.com

n***@qq.com

D/WebAppActivity: onCreate
W/System.err: java.lang.ClassNotFoundException: io.dcloud.common.util.net.http.LocalServer2
W/System.err: at java.lang.Class.classForName(Native Method)
W/System.err: at java.lang.Class.forName(Class.java:454)
W/System.err: at java.lang.Class.forName(Class.java:379)
W/System.err: at io.dcloud.common.ui.PrivacyManager.isDebugMode(Unknown Source:1)
W/System.err: at io.dcloud.b.onCreate(Unknown Source:8)
W/System.err: at io.dcloud.WebAppActivity.onCreate(Unknown Source:22)
W/System.err: at net.daoyiyan.ms.MainActivity.onCreate(MainActivity.java:242)
W/System.err: at android.app.Activity.performCreate(Activity.java:8329)
W/System.err: at android.app.Activity.performCreate(Activity.java:8308)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3750)
W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3907)
W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:137)
W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2393)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err: at android.os.Looper.loopOnce(Looper.java:201)
W/System.err: at android.os.Looper.loop(Looper.java:288)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8061)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:703)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "io.dcloud.common.util.net.http.LocalServer2" on path: DexPathList[[zip file "/data/app/umjIwOpWrAWdqnKpOMHI1w==/net.daoyiyan.ms-_1cypKm9Xd4I5bkxu1frCw==/base.apk"],nativeLibraryDirectories=[/data/app/umjIwOpWrAWdqnKpOMHI1w==/net.daoyiyan.ms-_1cypKm9Xd4I5bkxu1frCw==/lib/arm64, /data/app/~~umjIwOpWrAWdqnKpOMHI1w==/net.daoyiyan.ms-_1cypKm9Xd4I5bkxu1frCw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
W/System.err: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
W/System.err: ... 23 more
W/net.daoyiyan.ms: Accessing hidden field Ldalvik/system/BaseDexClassLoader;->pathList:Ldalvik/system/DexPathList; (unsupported, JNI, allowed)
W/net.daoyiyan.ms: Accessing hidden field Ldalvik/system/DexPathList;->dexElements:[Ldalvik/system/DexPathList$Element; (unsupported, JNI, allowed)
W/net.daoyiyan.ms: Accessing hidden field Ldalvik/system/DexPathList$Element;->dexFile:Ldalvik/system/DexFile; (unsupported, JNI, allowed)
W/net.daoyiyan.ms: Accessing hidden field Ldalvik/system/DexFile;->mFileName:Ljava/lang/String; (unsupported, JNI, allowed)
I/WebViewFactory: Loading com.android.webview version 101.0.4951.61 (code 495156103)
D/nativeloader: classloader namespace configured for unbundled product apk. library_path=/product/app/webview/lib/arm64:/product/app/webview/webview.apk!/lib/arm64-v8a:/product/lib64:/system/product/lib64
W/net.daoyiyan.ms: Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (unsupported, reflection, allowed)
W/net.daoyiyan.ms: Accessing hidden method Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V (unsupported, reflection, allowed)
W/net.daoyiyan.ms: Accessing hidden method Landroid/os/Trace;->traceEnd(J)V (unsupported, reflection, allowed)
W/net.daoyiyan.ms: Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (unsupported, reflection, allowed)
W/net.daoyiyan.ms: Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (unsupported, reflection, allowed)
I/cr_WVCFactoryProvider: Loaded version=101.0.4951.61 minSdkVersion=23 isBundle=false multiprocess=true packageId=2
I/cr_LibraryLoader: Successfully loaded native library
I/cr_CachingUmaRecorder: Flushed 8 samples from 8 histograms.
E/AppRuntime: initUTS error java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.reflect.Field java.lang.Class.getField(java.lang.String)' on a null object reference
D/download_manager: BaseActivity onCreate
D/net.daoyiyan.ms: onRuntimePreCreate appid=Main_App
I/splash: WebAppActivity.onCreateSplash().appid=null this.appid=Main_App this=net.daoyiyan.ms.MainActivity@40fe1ce
I/splash: WebAppActivity.onCreateSplash().mSplashView is Null =true
I/WebAppActivity: onCreateSplash;intent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=net.daoyiyan.ms/.MainActivity }
I/WebAppActivity: onCreateSplash hasSplash=true
I/WebAppActivity: onCreateSplash __splash_mode__=auto
E/net.daoyiyan.ms: Invalid ID 0x00000000.
D/Main_Path: use defaultSplash
D/CompatibilityChangeReporter: Compat change id reported: 210923482; UID 10129; state: DISABLED
D/CompatibilityChangeReporter: Compat change id reported: 37756858; UID 10129; state: ENABLED
E/net.daoyiyan.ms: Invalid ID 0x00000000.
D/TrafficStats: tagSocket(100) with statsTag=0xffffffff, statsUid=-1
I/platform: ClassNotFoundException io.dcloud.appstream.actionbar.StreamAppActionBarUtil checkNeedTitleView
D/WebAppActivity: checkAutoHide false
W/libc: Access denied finding property "persist.unipnp.debug"
W/libc: Access denied finding property "persist.unipnp.debug"
W/ziparchive: Unable to open '/system_ext/framework/unipnp-framework.dm': No such file or directory
W/ziparchive: Unable to open '/system_ext/framework/unipnp-framework.dm': No such file or directory
D/MainActivity: onUserInteraction
D/MainActivity: hideScreenSaver
E/AndroidRuntime: FATAL EXCEPTION: pool-5-thread-1
Process: net.daoyiyan.ms, PID: 22887
java.lang.NullPointerException: Attempt to get length of null array
at io.dcloud.common.util.Base64.encode(Unknown Source:6)
at io.dcloud.common.adapter.util.UEH$2$1.onCallBack(Unknown Source:3)
at io.dcloud.common.adapter.util.UEH$2.run(Unknown Source:44)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1023)
D/TrafficStats: tagSocket(100) with statsTag=0xffffffff, statsUid=-1
D/TrafficStats: tagSocket(105) with statsTag=0xffffffff, statsUid=-1
W/System.err: java.lang.NullPointerException: Attempt to get length of null array
W/System.err: at io.dcloud.common.util.Base64.encode(Unknown Source:6)
W/System.err: at io.dcloud.common.adapter.util.UEH$2$1.onCallBack(Unknown Source:3)
W/System.err: at io.dcloud.common.adapter.util.UEH$2.run(Unknown Source:44)
W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W/System.err: at java.lang.Thread.run(Thread.java:1023)
E/UncaughtExceptionHandler: java.lang.NullPointerException: Attempt to get length of null array
I/Process: Sending signal. PID: 22887 SIG: 9
Disconnected from the target VM, address: 'localhost:4994', transport: 'socket'

n***@qq.com

n***@qq.com

我也出现了这个问题,当我把sdk版本从30升级到33的时候,就一直报这个错误。

要回复问题请先登录注册