NordicSemiconductor / Android-nRF-Toolbox

The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy in one location.
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Toolbox
BSD 3-Clause "New" or "Revised" License
1.09k stars 464 forks source link

Has a Crash and build in Android Studio #72

Open HuaZaiWuDi opened 5 years ago

HuaZaiWuDi commented 5 years ago

### app build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        applicationId "no.nordicsemi.android.nrftoolbox"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 69
        versionName "2.7.2"
        resConfigs "en"

        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        debug {
            minifyEnabled true
            useProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation project(':common')
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(path: ':wear')

    // nRF Toolbox is using Play Service 10.2.0 in order to make the app working in China:
    // https://developer.android.com/training/wearables/apps/creating-app-china.html
    //noinspection GradleDependency
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'

    implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
    implementation 'androidx.preference:preference:1.1.0-alpha04'
    implementation 'com.google.android.material:material:1.1.0-alpha05'

    implementation 'no.nordicsemi.android:log:2.2.0'
    implementation 'no.nordicsemi.android.support.v18:scanner:1.4.0'

    // The DFU Library is imported automatically from jcenter:
    implementation 'no.nordicsemi.android:dfu:1.9.0'
    // if you desire to build the DFU Library, clone the
    // https://github.com/NordicSemiconductor/Android-DFU-Library project into DFULibrary folder,
    // add it as a module into the project structure and uncomment the following line
    // (and also the according lines in the settings.gradle):
    // implementation project(':dfu')

    // Import the BLE Common Library.
    // The BLE Common Library depends on BLE Library. It is enough to include the first one.
    implementation 'no.nordicsemi.android:ble-common:2.1.1'
    // The BLE Common Library may be included from jcenter. If you want to modify the code,
    // clone both projects from GitHub and replace the line above with the following
    // (and also the according lines in the settings.gradle):
    // implementation project(':ble-common')

    implementation('org.simpleframework:simple-xml:2.7.1') {
        exclude group: 'stax', module: 'stax-api'
        exclude group: 'xpp3', module: 'xpp3'
    }
  implementation 'no.nordicsemi.android:ble:2.1.1'
}

error

2019-04-16 16:26:32.877 4957-4957/no.nordicsemi.android.nrftoolbox E/AndroidRuntime: FATAL EXCEPTION: main
    Process: no.nordicsemi.android.nrftoolbox, PID: 4957
    java.lang.RuntimeException: Unable to instantiate application no.nordicsemi.android.nrftoolbox.ToolboxApplication: java.lang.ClassNotFoundException: Didn't find class "no.nordicsemi.android.nrftoolbox.ToolboxApplication" on path: DexPathList[[zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/base.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_dependencies_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_resources_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_0_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_1_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_2_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_3_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_4_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_5_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_6_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_7_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_8_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1059)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6590)
        at android.app.ActivityThread.-wrap2(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:108)
        at android.os.Looper.loop(Looper.java:166)
        at android.app.ActivityThread.main(ActivityThread.java:7529)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
2019-04-16 16:26:32.879 4957-4957/no.nordicsemi.android.nrftoolbox E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "no.nordicsemi.android.nrftoolbox.ToolboxApplication" on path: DexPathList[[zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/base.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_dependencies_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_resources_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_0_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_1_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_2_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_3_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_4_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_5_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_6_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_7_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_8_apk.apk", zip file "/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1089)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1053)
            ... 9 more
        Suppressed: java.io.IOException: Failed to open dex files from /data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_dependencies_apk.apk because: Failure to verify dex file '/data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_dependencies_apk.apk': Bad method handle type 7
        at dalvik.system.DexFile.openDexFileNative(Native Method)
        at dalvik.system.DexFile.openDexFile(DexFile.java:353)
        at dalvik.system.DexFile.<init>(DexFile.java:100)
        at dalvik.system.DexFile.<init>(DexFile.java:74)
        at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
        at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
        at dalvik.system.DexPathList.<init>(DexPathList.java:157)
        at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
        at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
        at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:75)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:38)
        at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:719)
        at android.app.LoadedApk.getClassLoader(LoadedApk.java:752)
        at android.app.LoadedApk.getResources(LoadedApk.java:1005)
        at android.app.ContextImpl.createAppContext(ContextImpl.java:2489)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6497)
                ... 8 more
        Suppressed: java.io.IOException: No original dex files found for dex location /data/app/no.nordicsemi.android.nrftoolbox-MaV_JoBU98U-AxgXc3v_NQ==/split_lib_resources_apk.apk
        at dalvik.system.DexFile.openDexFileNative(Native Method)
        at dalvik.system.DexFile.openDexFile(DexFile.java:353)
        at dalvik.system.DexFile.<init>(DexFile.java:100)
        at dalvik.system.DexFile.<init>(DexFile.java:74)
        at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)