易水@ 2023-07-14 19:37 采纳率: 0%
浏览 14

android设备端

问题是在设备上,安装第三方app,老是卡在初始页面,app的so库已经加载完毕,但是据推测并没有访问到。。
设备支持arm64-v8a,armeabi-v7a,armeabi
app支持 arm64-v8a,armeabi-v7a,
app明确没问题,设备端安装其他普通app也没问题

主要报错:

07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570] JNI DETECTED ERROR IN APPLICATION: JNI GetByteArrayElements called with pending exception java.lang.ClassNotFoundException: com.tuya.smart.security.jni.JNICLibrary
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at java.lang.Object com.tuya.smart.security.jni.SecureNativeApi.doCommandNative(android.content.Context, int, byte[], byte[], boolean, boolean) (SecureNativeApi.java:-2)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at java.lang.Object cq5.b(android.content.Context, int, byte[], byte[], boolean, boolean) (JNICLibrary.java:5)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.tuya.sdk.network.TuyaNetworkSecurity.initJNI(android.content.Context) (TuyaNetworkSecurity.java:5)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.tuya.smart.android.network.TuyaSmartNetWork.initialize(android.content.Context, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.tuya.smart.android.network.IApiUrlProvider) (TuyaSmartNetWork.java:21)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.tuya.smart.sdk.TuyaSdk.initTuyaData(android.app.Application, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.tuya.smart.android.network.IApiUrlProvider, java.lang.String) (TuyaSdk.java:8)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.tuya.smart.sdk.TuyaSdk.init(android.app.Application, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.tuya.smart.android.network.IApiUrlProvider) (TuyaSdk.java:7)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.tuya.smart.sdk.TuyaSdk.init(android.app.Application, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.tuya.smart.android.network.IApiUrlProvider) (TuyaSdk.java:3)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void bm3.g(java.lang.String, java.lang.String, java.lang.String, java.lang.String) (AppInitializer.java:19)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void bm3.h(android.app.Application, java.lang.String, java.lang.String, uh6, java.lang.String, boolean) (AppInitializer.java:5)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void bm3.c(android.app.Application, java.lang.String, java.lang.String, uh6, java.lang.String, java.lang.String, boolean) (AppInitializer.java:4)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.smart.app.SmartApplication.i() (SmartApplication.java:16)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.smart.app.SmartApplication.onCreate() (SmartApplication.java:6)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1189)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:6484)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.app.ActivityThread.access$1300(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:219)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1864)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:107)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.os.Looper.loop() (Looper.java:214)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7386)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:492)
07-12 13:35:56.422 F/ctric.WiserByS( 8344): java_vm_ext.cc:570]   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1072)

问题应该就是出在so库没有被访问到,但并不清楚是什么原因导致,还不知道怎么解决,希望各位提供一些帮助。

  • 写回答

2条回答 默认 最新

  • IT论之程序员 2023-07-15 12:17
    关注

    根据你描述的问题和报错日志,这个问题很有可能是由于APP中的native库没有被正确加载导致的。
    几个需要检查的地方:

    1. 检查APK中是否包含了armeabi-v7a和arm64-v8a架构的native库。可以用aapt dump badging命令来查看APK中的native库信息。
    2. 检查设备是否支持加载这些native库的架构。可以用getprop命令获取ro.product.cpu.abilist属性来查看设备支持的架构。
    3. 检查native库是否放在了正确的目录下,比如lib/armeabi-v7a, lib/arm64-v8a等。
    4. 如果native库需要依赖其他系统库,要检查设备上是否安装了对应的系统库。
    5. 检查AndroidManifest.xml里面是否配置了uses-library标签来加载native库。
    6. 可以尝试在应用启动时用System.loadLibrary加载native库,观察是否有加载失败的异常。
    7. 检查native方法在加载so库后是否被正确调用,可以加日志调试下。
    8. 可以尝试用adb shell cat /proc/self/maps命令来查看APP进程加载的库信息。
    9. 如果问题仍未解决,可以考虑用strace或gdb等工具跟踪调试APP进程,观察native库加载过程。
      总之,需要从APK包本身、设备环境、加载过程等方面综合排查,找到native库加载失败的具体原因。
    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日

悬赏问题

  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强