Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio ClassNotFoundException_Java_Android_Android Studio_Gradle_Neuroph - Fatal编程技术网

Java Android Studio ClassNotFoundException

Java Android Studio ClassNotFoundException,java,android,android-studio,gradle,neuroph,Java,Android,Android Studio,Gradle,Neuroph,每次运行project时将外部LIB导入到项目后,我会得到ClassNotFoundException: 06-09 18:22:49.759 12976-13005/? E/AndroidRuntime: FATAL EXCEPTION: dataLoader Process: prm.soundpaint, PID: 12976 org.neuroph.core.exceptions.NeurophException: Class not found while trying to read

每次运行project时将外部LIB导入到项目后,我会得到ClassNotFoundException:

06-09 18:22:49.759 12976-13005/? E/AndroidRuntime: FATAL EXCEPTION: dataLoader
Process: prm.soundpaint, PID: 12976
org.neuroph.core.exceptions.NeurophException: Class not found while trying to read neural network from file!
    at org.neuroph.core.NeuralNetwork.load(NeuralNetwork.java:638)
    at prm.soundpaint.DrawingView$1.run(DrawingView.java:60)
    at java.lang.Thread.run(Thread.java:818)
 Caused by: java.lang.ClassNotFoundException: ch.qos.logback.classic.Logger
    at java.lang.Class.classForName(Native Method)
    at java.lang.Class.forName(Class.java:308)
    at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2263)
    at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1641)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:657)
    at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1782)
    at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940)
    at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1113)
    at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:454)
    at org.neuroph.core.NeuralNetwork.readObject(NeuralNetwork.java:651)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1330)
    at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1242)
    at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1835)
    at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940)
    at org.neuroph.core.NeuralNetwork.load(NeuralNetwork.java:631)
    at prm.soundpaint.DrawingView$1.run(DrawingView.java:60) 
    at java.lang.Thread.run(Thread.java:818) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "ch.qos.logback.classic.Logger" on path: DexPathList[[zip file "/data/app/prm.soundpaint-1/base.apk"],nativeLibraryDirectories=[/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.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2263) 
    at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1641) 
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:657) 
    at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1782) 
    at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940) 
    at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1113) 
    at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:454) 
    at org.neuroph.core.NeuralNetwork.readObject(NeuralNetwork.java:651) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1330) 
    at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1242) 
    at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1835) 
    at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940) 
    at org.neuroph.core.NeuralNetwork.load(NeuralNetwork.java:631) 
    at prm.soundpaint.DrawingView$1.run(DrawingView.java:60) 
    at java.lang.Thread.run(Thread.java:818) 
    Suppressed: java.lang.ClassNotFoundException: ch.qos.logback.classic.Logger
    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)
            ... 24 more
 Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
jar位于“libs”文件夹中:

我还向build.gradle添加了依赖项:

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "prm.soundpaint"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation files('libs/neuroph-core-2.94.jar')
    implementation files('libs/neuroph-imgrec-2.94.jar')
    implementation files('libs/neuroph-ocr-2.94.jar')
}
它在初始化对象的行中崩溃:

private Runnable loadDataRunnable = new Runnable() {
    public void run() {
        InputStream irs = getResources().openRawResource(R.raw.m1);
        nnet = NeuralNetwork.load(irs);
    }
};
我试图通过在android studio中发布instant run来解决这个问题,但没有任何效果。我还试图:

  • 删除生成文件夹,清理并重新生成项目
  • 使缓存无效并重新启动
  • 重启设备
  • 在build.gradle和清单文件中启用多索引:

    编译'com.android.support:multidex:1.0.0' 多索引启用真 android:name=“android.support.multidex.MultiDexApplication”

  • 通过dexOptions禁用preDexLibraries{ preDexLibraries错误 }

编辑


不幸的是,应用程序仍然在每次运行时崩溃。我有安卓5的设备。有人知道如何解决这个问题吗?

你能发送你工作区的屏幕截图吗?图书馆是否全面更新?etcI用截图更新了帖子。2.94是本libs的最新版本。Multidex不会发现不存在的类。不要使用JAR文件。。。删除它们。添加
implementation'org.neuroph:neuroph core:2.94'
另外,请记住,并非所有Java库都可以被Android使用。第二个错误是
ClassNotFoundException:ch.qos.logback.classic
,因为在Android中不使用logback