开发者社区> 问答> 正文

阿里云OpenAPI Android 环境集成Java SDK报错怎么解决?

阿里云OpenAPI Android 环境集成Java SDK报错怎么解决?

E FATAL EXCEPTION: main
Process: com.idata.cameracodetesttwo, PID: 6990
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/management/ManagementFactory;
at com.aliyun.teautil.Common.getNonce(Common.java:243)
at com.aliyun.teaopenapi.Client.doRequest(Client.java:720)
at com.aliyun.teaopenapi.Client.callApi(Client.java:1022)
at com.aliyun.ocr_api20210707.Client.recognizeAdvancedWithOptions(Client.java:84)
at com.aliyun.ocr_api20210707.Client.recognizeAdvanced(Client.java:89)
at com.idata.cameracodetest.MainViewModel.recognize(MainViewModel.kt:169)
at com.idata.cameracodetest.MainActivity.takePhoto(MainActivity.kt:258)
at com.idata.cameracodetest.MainActivity.access$takePhoto(MainActivity.kt:44)
at com.idata.cameracodetest.MainActivity$initView$5.invoke(MainActivity.kt:126)
at com.idata.cameracodetest.MainActivity$initView$5.invoke(MainActivity.kt:125)
at com.hgx.base.ext.ViewExtKt$OnSingleClickListener$1.onSingleClick(ViewExt.kt:58)
at com.hgx.base.util.OnSingleClickListener.onClick(OnSingleClickListener.kt:15)
at android.view.View.performClick(View.java:7322)
at android.view.View.performClickInternal(View.java:7296)
at android.view.View.access$3600(View.java:839)
at android.view.View$PerformClick.run(View.java:28319)
at android.os.Handler.handleCallback(Handler.java:900)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8673)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.lang.management.ManagementFactory" on path: DexPathList[[zip file "/data/app/com.idata.cameracodetesttwo-yWXqPmcZgveUf7q1oywY3Q==/base.apk"],nativeLibraryDirectories=[/data/app/com.idata.cameracodetesttwo-yWXqPmcZgveUf7q1oywY3Q==/lib/arm64, /data/app/com.idata.cameracodetesttwo-yWXqPmcZgveUf7q1oywY3Q==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64, /prets/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:209)
收起

展开
收起
三分钟热度的鱼 2023-11-22 18:27:32 257 0
4 条回答
写回答
取消 提交回答
  • 楼主解决了吗,怎么解决的呢,评论区看的我云里雾里的

    2024-04-15 22:45:33
    赞同 展开评论 打赏
  • 这个错误是由于在Android环境中找不到java.lang.management.ManagementFactory类导致的。要解决这个问题,你需要确保你的项目中包含了正确的依赖库。

    首先,检查你的项目的build.gradle文件,确保你已经添加了以下依赖:

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    

    然后,同步Gradle项目,让构建系统下载并添加这些依赖库到你的项目中。

    如果问题仍然存在,你可以尝试在项目的build.gradle文件中添加以下代码,以确保你的项目使用了正确的Java版本:

    android {
        ...
        defaultConfig {
            ...
            minSdkVersion 19
            targetSdkVersion 30
        }
    }
    

    最后,同步Gradle项目并重新运行你的应用。

    2023-11-29 11:08:46
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个异常表示找不到 java.lang.management.ManagementFactory 类,这是一个 JRE 内部类,在某些 Android 设备上可能会出现缺失的情况。
    建议尝试以下解决方案:

    • 更新阿里云 OpenAPI SDK 版本:在某些旧版本的 SDK 中可能会存在此问题,建议更新至最新版。
    • 添加 Java 运行时库:尝试在工程中添加 Java 运行时库的支持,以便更好地兼容不同设备的 JRE 环境。
    2023-11-23 16:08:20
    赞同 展开评论 打赏
  • java/lang/management/ManagementFactory; 这个是tea-util包版本低了,提升到0.2.21 即可。


    com.aliyun
    tea-util
    0.2.21
    此回答整理自钉群“OpenAPI 开发者门户 - 值班服务群2群”

    2023-11-22 21:06:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载