dji-sdk / Mobile-SDK-Android-V5

MSDK V5 Sample
Other
247 stars 126 forks source link

JNI DETECTED ERROR IN APPLICATION: field operation on NULL object: 0x0 #342

Closed fail572872916 closed 3 weeks ago

fail572872916 commented 1 month ago

QQ截图20240522161834 QQ截图20240522161848 QQ截图20240522161919 QQ截图20240522161934 发生了以上错误,我卸载掉应用后,第一次可运行,我第二次运行时就会报如图错误,我昨天刚升级到5.9的版本,测试为Android14的手机,我该如何解决问题

fail572872916 commented 1 month ago

我的配置如下 plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' // id 'kotlin-android-extensions' id 'com.google.devtools.ksp' id 'kotlin-parcelize'

}

android { namespace '' compileSdk 33

defaultConfig { applicationId "" minSdk 24 targetSdk 30 versionCode 1 versionName "1.0"

ndk {
    abiFilters 'arm64-v8a' // 当前 MSDK 只支持 arm64-v8a 架构
}

// MSDK 相关的 so 库,加上一下配置
packagingOptions {
    pickFirst 'lib/arm64-v8a/libc++_shared.so'
    pickFirst 'lib/armeabi-v7a/libc++_shared.so'
}

// MSDK 相关的 so 库,加上一下配置
packagingOptions {
    doNotStrip "*/*/libconstants.so"
    doNotStrip "*/*/libdji_innertools.so"
    doNotStrip "*/*/libdjibase.so"
    doNotStrip "*/*/libDJICSDKCommon.so"
    doNotStrip "*/*/libDJIFlySafeCore-CSDK.so"
    doNotStrip "*/*/libdjifs_jni-CSDK.so"
    doNotStrip "*/*/libDJIRegister.so"
    doNotStrip "*/*/libdjisdk_jni.so"
    doNotStrip "*/*/libDJIUpgradeCore.so"
    doNotStrip "*/*/libDJIUpgradeJNI.so"
    doNotStrip "*/*/libDJIWaypointV2Core-CSDK.so"
    doNotStrip "*/*/libdjiwpv2-CSDK.so"
    doNotStrip "*/*/libFlightRecordEngine.so"
    doNotStrip "*/*/libvideo-framing.so"
    doNotStrip "*/*/libwaes.so"
    doNotStrip "*/*/libagora-rtsa-sdk.so"
    doNotStrip "*/*/libc++.so"
    doNotStrip "*/*/libc++_shared.so"
    doNotStrip "*/*/libmrtc_28181.so"
    doNotStrip "*/*/libmrtc_agora.so"
    doNotStrip "*/*/libmrtc_core.so"
    doNotStrip "*/*/libmrtc_core_jni.so"
    doNotStrip "*/*/libmrtc_data.so"
    doNotStrip "*/*/libmrtc_log.so"
    doNotStrip "*/*/libmrtc_onvif.so"
    doNotStrip "*/*/libmrtc_rtmp.so"
    doNotStrip "*/*/libmrtc_rtsp.so"
}

} signingConfigs { def alias = "" def password = "" def filePath = '../app/oneMap.jks'

debug {

    storeFile file(filePath)
    storePassword password
    keyAlias alias
    keyPassword password
}
release {

    storeFile file(filePath)
    storePassword password
    keyAlias alias
    keyPassword password
}

} buildFeatures {

viewBinding = true
dataBinding = true

} compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } } def room_version = "2.5.0" def rxhttp_version = "3.2.4" dependencies { compileOnly deps.aircraftProvided implementation deps.aircraft

/ <-----------------sample所需--------------------> / implementation project(':android-sdk-v5-uxsdk') implementation deps.appcompat implementation deps.constraintLayout implementation deps.aacCommon implementation deps.aacRuntime implementation deps.kotlinLib implementation deps.ktxCore implementation deps.ktxFrag implementation deps.ktxNavigation implementation deps.ktxNavigationUi implementation deps.recyclerview implementation deps.legacySupport implementation deps.lifecycleViewModel implementation deps.lifecycleLiveData implementation deps.leakcanary implementation deps.glide implementation deps.dynamicanimation implementation deps.expandedit implementation deps.rx3Kt implementation deps.dom ksp deps.glidecompiler

implementation(project(":basemattermap")) implementation(project(":switchButton")) implementation(project(":xpopup")) implementation(project(":basefly")) implementation(project(":TabLayout")) implementation(project(":lib_circularavatar")) implementation(project(":MapGeoJson")) implementation("com.blankj:utilcodex:1.31.1")

implementation("com.afollestad.material-dialogs:core:3.3.0") implementation("com.afollestad.material-dialogs:input:3.3.0") implementation("com.afollestad.material-dialogs:files:3.3.0") implementation("com.afollestad.material-dialogs:lifecycle:3.3.0")

// 权限请求框架:https://github.com/getActivity/XXPermissions api("com.github.getActivity:XXPermissions:18.5")

api("io.github.jeremyliao:live-event-bus-x:1.8.0") implementation("io.coil-kt:coil:2.4.0")

implementation("androidx.room:room-runtime:$room_version") implementation("androidx.room:room-ktx:$room_version") // To use Kotlin Symbol Processing (KSP) ksp("androidx.room:room-compiler:$room_version") implementation "io.github.cymchad:BaseRecyclerViewAdapterHelper:3.0.14"

//MQTT需要使用到Paho Android Service库 implementation ("org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0") implementation ("org.eclipse.paho:org.eclipse.paho.android.service:1.1.1")

//lottie动画 implementation "com.airbnb.android:lottie:5.2.0"

implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation "com.github.liujingxing.rxhttp:rxhttp:$rxhttp_version" // ksp/kapt/annotationProcessor choose one ksp "com.github.liujingxing.rxhttp:rxhttp-compiler:$rxhttp_version" implementation 'org.xutils:xutils:3.9.0'

implementation("io.coil-kt:coil:2.4.0") implementation("com.github.BzCoder:EasyGlide:2.0.1")

implementation 'io.reactivex.rxjava3:rxjava:3.1.6' implementation 'io.reactivex.rxjava3:rxandroid:3.0.2' implementation 'com.github.liujingxing.rxlife:rxlife-rxjava3:2.2.2' //RxJava3, Automatic close request // implementation 'com.squareup.okhttp3:okhttp:4.12.0' // implementation ("com.github.liujingxing.rxhttp:rxhttp:$rxhttp_version") // ksp/kapt/annotationProcessor choose one // kapt ("com.github.liujingxing.rxhttp:rxhttp-compiler:$rxhttp_version")

dji-dev commented 1 month ago

Agent comment from yating.liao in Zendesk ticket #107962:

如果您运行5.9的示例代码是否也会出现相同的崩溃?如果会发生,能否录制一段视频给到我们?我们也想要了解发生崩溃时使用的设备具体型号。 这里是上传地址:https://pan-sec.djicorp.com/s/PsAPqBXF8ZPxTFC 密码:LkSsx9

°°°

brien-crean commented 4 weeks ago

@dji-dev I also have this issue intermittently when updating to 5.9.0. It looks like com.secneo.sdk.Helper.install is causing the crash. It doesn't happen every time I run the app. Reverting to 5.8.0 fixed it for now. I am running this on a Samsung A52 which is running Android 13.

Crash:

java_vm_ext.cc:591] JNI DETECTED ERROR IN APPLICATION: field operation on NULL object: 0x0
java_vm_ext.cc:591]     in call to GetObjectField
java_vm_ext.cc:591]     from java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.Class)
2024-05-30 10:47:12.035  8057-8057  testmobile.sdk5         com.testmobile.sdk5              A  runtime.cc:691] Runtime aborting...
runtime.cc:691] Dumping all threads without mutator lock held
runtime.cc:691] All threads:
runtime.cc:691] DALVIK THREADS (18):
runtime.cc:691] "main" prio=10 tid=1 Runnable
runtime.cc:691]   | group="" sCount=0 ucsCount=0 flags=0 obj=0x728dd120 self=0xb400007ca1fdabe0
runtime.cc:691]   | sysTid=8057 nice=-10 cgrp=default sched=0/0 handle=0x7ded8a7500
runtime.cc:691]   | state=R schedstat=( 568741804 7925936 871 ) utm=45 stm=11 core=7 HZ=100
runtime.cc:691]   at java.lang.Runtime.nativeLoad(Native method)
runtime.cc:691]   at java.lang.Runtime.nativeLoad(Runtime.java:1126)
runtime.cc:691]   at java.lang.Runtime.loadLibrary0(Runtime.java:1080)
runtime.cc:691]   - locked <0x011368d6> (a java.lang.Runtime)
runtime.cc:691]   at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
runtime.cc:691]   at java.lang.System.loadLibrary(System.java:1661)
runtime.cc:691]   at com.secneo.sdk.Helper.install(Helper.java:48)
runtime.cc:691]   at com.testmobile.MainApplication.attachBaseContext(MainApplication.kt:49)
runtime.cc:691]   at android.app.Application.attach(Application.java:365)
runtime.cc:691]   at android.app.Instrumentation.newApplication(Instrumentation.java:1233)
runtime.cc:691]   at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1566)
runtime.cc:691]   at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1503)
runtime.cc:699] JNI DETECTED ERROR IN APPLICATION: field operation on NULL object: 0x0
runtime.cc:699]     in call to GetObjectField
runtime.cc:699]     from java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.Class)
2024-05-30 10:53:41.142  8335-8335  libc                    com.testmobile.sdk5              A  Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 8335 (testmobile.sdk5), pid 8335 (testmobile.sdk5)
2024-05-30 10:53:41.390  8365-8365  DEBUG                   crash_dump64                         A  Cmdline: com.testmobile.sdk5
2024-05-30 10:53:41.390  8365-8365  DEBUG                   crash_dump64                         A  pid: 8335, tid: 8335, name: testmobile.sdk5  >>> com.testmobile.sdk5 <<<
2024-05-30 10:53:41.391  8365-8365  DEBUG                   crash_dump64                         A        #08 pc 00000000000413e4  /data/app/~~tneCiOTLf-EiTr-Mm1CnNA==/com.testmobile.sdk5-uyF92cpXSSLftzpN9ku1jQ==/lib/arm64/libSdkHelper_sdk.so (BuildId: a937996e5bbd23c31ccca04cadce447b0005764f)
2024-05-30 10:53:41.391  8365-8365  DEBUG                   crash_dump64                         A        #09 pc 000000000003d664  /data/app/~~tneCiOTLf-EiTr-Mm1CnNA==/com.testmobile.sdk5-uyF92cpXSSLftzpN9ku1jQ==/lib/arm64/libSdkHelper_sdk.so (JNI_OnLoad+3712) (BuildId: a937996e5bbd23c31ccca04cadce447b0005764f)
2024-05-30 10:53:41.391  8365-8365  DEBUG                   crash_dump64                         A        #37 pc 00000000003ece64  /data/app/~~tneCiOTLf-EiTr-Mm1CnNA==/com.testmobile.sdk5-uyF92cpXSSLftzpN9ku1jQ==/base.apk (com.secneo.sdk.Helper.install+0)
2024-05-30 10:53:41.391  8365-8365  DEBUG                   crash_dump64                         A        #42 pc 0000000000003244  /data/app/~~tneCiOTLf-EiTr-Mm1CnNA==/com.testmobile.sdk5-uyF92cpXSSLftzpN9ku1jQ==/base.apk (com.testmobile.MainApplication.attachBaseContext+0)

To update to 5.9.0 I only updated the following as I could not see any other required gradle changes

    djisdk5Implementation "com.dji:dji-sdk-v5-aircraft:5.9.0"
    djisdk5CompileOnly "com.dji:dji-sdk-v5-aircraft-provided:5.9.0"
IakovlevAA commented 4 weeks ago

Same here, just noticed, that this problem occurs only if you change any code in android studio and reinstall the app. But if you change versions of MSDK or delete app from phone it runs ok. Recently, I was working on OnePlus 7 pro with android 10 and this error didn't show, until I updated to android 11

dji-lyt commented 3 weeks ago

You can try checking the option shown in the picture, and then proceed to install the app using Android Studio. image

IakovlevAA commented 3 weeks ago

You can try checking the option shown in the picture, and then proceed to install the app using Android Studio. image

Thanks! It helped

dji-lyt commented 3 weeks ago

@fail572872916 这个方法是否可以解决你的问题呢?

You can try checking the option shown in the picture, and then proceed to install the app using Android Studio. image

dji-lyt commented 3 weeks ago

You can try checking the option shown in the picture, and then proceed to install the app using Android Studio. image

Thanks! It helped

Glad to help you.

fail572872916 commented 3 weeks ago

我没有修改配置,问题没有出现了,出现时我在试试

dji-dev commented 3 weeks ago

Agent comment from yating.liao in Zendesk ticket #107962:

嗯嗯 好 如果有问题可以再联系我们。

°°°