Skip to content

dji class not found: java.lang.ClassNotFoundException: dji.event3.sharelib.DJIEventBusIndex #2

@happyriver2018

Description

@happyriver2018

Is this issue about bugs or crash issues of the Sample Code?

Yep, then please delete this template and provide the following infos for us to help investigate the issue:

  • Description of the issue: classes not found
  • Steps to reproduce the bug or crash issues(It would be great if you can provide this): compile and run
  • Crash logs: see below
  • DJI Android SDK version you are using: gradle file attached
  • DJI Product you are using (Like Phantom 4, Mavic Pro, etc)
  • Android system version you are using (Like Android 6.0.1, Android 5.1.1, etc): android 5.0.1
  • Android device you are using (Like Samsung Galaxy Note 5, Nexus 5, etc): htc one m7
  • Android Studio version you are using (Like Android Studio 2.2, etc): 3.1.4

Here is the Gradle file:

apply plugin: 'com.android.application'

android {
compileSdkVersion 27

defaultConfig {

    ndk {
        abiFilters 'armeabi-v7a'
    }

    applicationId "com.dji.activationDemo"
    minSdkVersion 18
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}


buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions {
    exclude 'META-INF/rxjava.properties'
}

packagingOptions{
    doNotStrip "*/*/libdjivideo.so"
    doNotStrip "*/*/libSDKRelativeJNI.so"
    doNotStrip "*/*/libFlyForbid.so"
    doNotStrip "*/*/libduml_vision_bokeh.so"
    doNotStrip "*/*/libyuv2.so"
    doNotStrip "*/*/libGroudStation.so"
    doNotStrip "*/*/libFRCorkscrew.so"
    doNotStrip "*/*/libUpgradeVerify.so"
    doNotStrip "*/*/libFR.so"
}

}

ext {
supportLibVersion = '27.1.1' // variable that can be referenced to keep support libs consistent
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "com.android.support:support-v4:${supportLibVersion}"
implementation "com.android.support:recyclerview-v7:${supportLibVersion}"
implementation "com.android.support:appcompat-v7:${supportLibVersion}"
implementation "com.android.support:design:${supportLibVersion}"

implementation 'com.android.support:multidex:1.0.3'
implementation ('com.dji:dji-sdk:4.6')
compileOnly ('com.dji:dji-sdk-provided:4.6')

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

}

Here is the manifest file: (note the following:

<!-- DJI SDK need permission -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature
    android:name="android.hardware.usb.host"
    android:required="false" />
<uses-feature
    android:name="android.future.usb.accessory"
    android:required="true" />

<!-- SDK requirement permission end -->
<application
    android:name=".MApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <!-- DJI SDK -->
    <uses-library android:name="com.android.future.usb.accessory" />

    <meta-data
        android:name="com.dji.sdk.API_KEY"
        android:value="179757b189600a319aefbc0c" />

    <activity
        android:name="dji.sdk.sdkmanager.DJIAoaControllerActivity"
        android:theme="@android:style/Theme.Translucent">
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
        </intent-filter>

        <meta-data
            android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
            android:resource="@xml/accessory_filter" />
    </activity>

    <service android:name="dji.sdk.sdkmanager.DJIGlobalService"></service>
    <!-- DJI SDK -->

    <activity android:name=".ConnectionActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait" />

</application>

Here is the run log:

E/DJISDKManager: can't find DJIEventBusIndex Class in SharedLib module
java.lang.ClassNotFoundException: dji.event3.sharelib.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at java.lang.Class.forName(Class.java:272)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.event3.sharelib.DJIEventBusIndex" on path: DexPathList[[zip file "/system/framework/com.android.future.usb.accessory.jar", zip file "/data/app/com.dji.activationDemo-1/base.apk", zip file "/data/data/com.dji.activationDemo/.cache_sdk/sdkclasses.jar"],nativeLibraryDirectories=[/data/app/com.dji.activationDemo-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at java.lang.Class.forName(Class.java:272) 
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:818) 
Suppressed: java.lang.ClassNotFoundException: dji.event3.sharelib.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 8 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
can't find DJIEventBusIndex Class in MidWare module
java.lang.ClassNotFoundException: dji.event3.midware.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at java.lang.Class.forName(Class.java:272)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.event3.midware.DJIEventBusIndex" on path: DexPathList[[zip file "/system/framework/com.android.future.usb.accessory.jar", zip file "/data/app/com.dji.activationDemo-1/base.apk", zip file "/data/data/com.dji.activationDemo/.cache_sdk/sdkclasses.jar"],nativeLibraryDirectories=[/data/app/com.dji.activationDemo-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at java.lang.Class.forName(Class.java:272) 
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:818) 
Suppressed: java.lang.ClassNotFoundException: dji.event3.midware.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 8 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
can't find DJIEventBusIndex Class in FlyForbid module
java.lang.ClassNotFoundException: dji.event3.flyforbid.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at java.lang.Class.forName(Class.java:272)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.event3.flyforbid.DJIEventBusIndex" on path: DexPathList[[zip file "/system/framework/com.android.future.usb.accessory.jar", zip file "/data/app/com.dji.activationDemo-1/base.apk", zip file "/data/data/com.dji.activationDemo/.cache_sdk/sdkclasses.jar"],nativeLibraryDirectories=[/data/app/com.dji.activationDemo-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at java.lang.Class.forName(Class.java:272) 
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:818) 
Suppressed: java.lang.ClassNotFoundException: dji.event3.flyforbid.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 8 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
can't find DJIEventBusIndex Class in service module
java.lang.ClassNotFoundException: dji.event3.service.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at java.lang.Class.forName(Class.java:272)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.event3.service.DJIEventBusIndex" on path: DexPathList[[zip file "/system/framework/com.android.future.usb.accessory.jar", zip file "/data/app/com.dji.activationDemo-1/base.apk", zip file "/data/data/com.dji.activationDemo/.cache_sdk/sdkclasses.jar"],nativeLibraryDirectories=[/data/app/com.dji.activationDemo-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at java.lang.Class.forName(Class.java:272) 
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:818) 
Suppressed: java.lang.ClassNotFoundException: dji.event3.service.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 8 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
can't find DJIEventBusIndex Class in FrLib module
java.lang.ClassNotFoundException: com.dji.frlib.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at java.lang.Class.forName(Class.java:272)
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.dji.frlib.DJIEventBusIndex" on path: DexPathList[[zip file "/system/framework/com.android.future.usb.accessory.jar", zip file "/data/app/com.dji.activationDemo-1/base.apk", zip file "/data/data/com.dji.activationDemo/.cache_sdk/sdkclasses.jar"],nativeLibraryDirectories=[/data/app/com.dji.activationDemo-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at java.lang.Class.forName(Class.java:272) 
at dji.sdk.sdkmanager.DJISDKManager.initSDKManager(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager.access$1100(Unknown Source) 
at dji.sdk.sdkmanager.DJISDKManager$5.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:818) 
Suppressed: java.lang.ClassNotFoundException: com.dji.frlib.DJIEventBusIndex
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 8 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions