-
Notifications
You must be signed in to change notification settings - Fork 226
Open
Description
DJI SDK 5 Helper.install() Failure on Android 15 (ARM64)
Summary
Helper.install() from DJI Mobile SDK 5 (packages com.dji:dji-sdk-v5-*) fails on Android 15 ARM64 devices/emulators. The helper never completes, leading to No implementation found for void com.cySdkyc.clx.Helper.i() and a subsequent java.lang.VerifyError when SDKManager initializes.
Environment
- SDK versions tested: 5.13.0 (known working baseline), 5.17.0
- Target: Android 15 emulator (
Lenku_ARM_API_34, arm64-v8a) and physical Samsung Galaxy S23U (Android 15) - Sample app:
Mobile-SDK-Android-V5/SampleCode-V5/android-sdk-v5-sample(unchanged) - Custom project:
/Users/antti/Projects/drone-service-app
Reproduction Steps
- Clone
https://github.com/dji-sdk/Mobile-SDK-Android-V5and openSampleCode-V5/android-sdk-v5-as/. - Build with
./gradlew :sample:assembleDebug. - Install
sample/build/outputs/apk/debug/sample-debug.apkon an Android 15 arm64 emulator or device. - Launch
dji.sampleV5.aircraft/.DJIAircraftMainActivity. - Observe logcat:
adb logcat -d -v time | grep -E "Helper|SDKManager|AndroidRuntime".
Expected Result
Helper.install()succeeds insideApplication.attachBaseContext.SDKManagerinitializes and registers (Registration Status: Registeredin the sample UI).
Actual Result
Helper.install()throws:E/com.dji.sampleV5.aircraft: No implementation found for void com.cySdkyc.clx.Helper.i()- Immediately followed by:
E/AndroidRuntime: java.lang.VerifyError: dji.v5.manager.SDKManager.<init>() failed to verify: constructor returning without calling superclass constructor - DJI sample app swallows the crash but never registers (UI stays “Unregistered / Product Name: UNKNOWN”).
- Our app initially crashed; we now degrade gracefully by catching the exception, but DJI functionality remains unusable.
Additional Observations
- Issue reproduces identically on 5.13.0 and 5.17.0 Maven artifacts, implying a packaging/ABI regression rather than project misconfiguration.
libSdkyclx_clx.sois present in the APK; the missing JNI symbol (Helper.i) suggests the helper library is not built for Android 15’s 16 KB page size or ARM64 requirements.android:extractNativeLibs="true",jniLibs.useLegacyPackaging = true, multidex, and ProGuard exemptions have no effect—the failure happens before app logic runs.- DJI documentation still instructs calling
Helper.install(this)inattachBaseContext; there is no mention of Android 15 limitations or alternative initialization paths.
Impact
- DJI SDK 5 cannot be initialized on Android 15 arm64 devices, blocking telemetry, flight control, and all DJI-dependent features.
- Apps must either crash or disable DJI functionality entirely, preventing distribution to Android 15 users.
Requested Action
- Confirm whether Android 15 arm64 is officially supported for SDK 5.13–5.17.
- Provide updated helper binaries (or guidance) that allow
Helper.install()to succeed on Android 15 ARM64. - Document any required manifest/Gradle changes if the initialization process has changed for Android 15.
References
- DJI SDK repo:
https://github.com/dji-sdk/Mobile-SDK-Android-V5 - Internal app path:
/Users/antti/Projects/drone-service-app - Emulator command used:
cd /Users/antti/Projects/drone-service-app \ && export ANDROID_HOME="${HOME}/Library/Android/sdk" \ && emulator -avd Lenku_ARM_API_34 -no-snapshot-load
Metadata
Metadata
Assignees
Labels
No labels