Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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/223.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中jcraft jsch SFTP库的ClassNotFound异常_Java_Android_Sftp_Jsch - Fatal编程技术网

Java android中jcraft jsch SFTP库的ClassNotFound异常

Java android中jcraft jsch SFTP库的ClassNotFound异常,java,android,sftp,jsch,Java,Android,Sftp,Jsch,我正在尝试使用jcraft的jsch库从android设备上使用SFTP上传文件。 在应用程序的调试模式下,这个过程运行得非常好,我能够正确地上传文件。但当我在发布模式下构建应用程序时,jsch库抛出以下异常 01-08 11:48:00.905 8083-8182/? W/System.err: b.c.a.c0: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random 01-08 11:48:00.905 8083-8182/

我正在尝试使用jcraft的jsch库从android设备上使用SFTP上传文件。 在应用程序的调试模式下,这个过程运行得非常好,我能够正确地上传文件。但当我在发布模式下构建应用程序时,jsch库抛出以下异常

01-08 11:48:00.905 8083-8182/? W/System.err: b.c.a.c0: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random
01-08 11:48:00.905 8083-8182/? W/System.err:     at b.c.a.d1.a()
01-08 11:48:00.905 8083-8182/? W/System.err:     at b.c.a.d1.a()
01-08 11:48:00.905 8083-8182/? W/System.err:     at b.d.b.i.b.a()
01-08 11:48:00.905 8083-8182/? W/System.err:     at b.d.b.i.b.doInBackground()
01-08 11:48:00.906 8083-8182/? W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:292)
01-08 11:48:00.906 8083-8182/? W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
01-08 11:48:00.906 8083-8182/? W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
01-08 11:48:00.906 8083-8182/? W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
01-08 11:48:00.906 8083-8182/? W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
01-08 11:48:00.906 8083-8182/? W/System.err:     at java.lang.Thread.run(Thread.java:818)
01-08 11:48:00.906 8083-8182/? W/System.err: Caused by: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random
01-08 11:48:00.907 8083-8182/? W/System.err:     at java.lang.Class.classForName(Native Method)
01-08 11:48:00.907 8083-8182/? W/System.err:     at java.lang.Class.forName(Class.java:309)
01-08 11:48:00.907 8083-8182/? W/System.err:     at java.lang.Class.forName(Class.java:273)
01-08 11:48:00.907 8083-8182/? W/System.err:    ... 10 more
01-08 11:48:00.907 8083-8182/? W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.jcraft.jsch.jce.Random" on path: DexPathList[[zip file "/data/app/com.spirituspay.spaycardapplication-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-08 11:48:00.908 8083-8182/? W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
01-08 11:48:00.908 8083-8182/? W/System.err:    ... 13 more
01-08 11:48:00.908 8083-8182/? W/System.err:    Suppressed: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.Class.classForName(Native Method)
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
01-08 11:48:00.908 8083-8182/? W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
01-08 11:48:00.908 8083-8182/? W/System.err:        ... 14 more
01-08 11:48:00.908 8083-8182/? W/System.err:    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available'
我尝试过用本地JAR替换gradle库,也尝试过在发布模式下禁用proGuard规则

还有什么原因可能导致这种情况


如果您需要任何其他诊断信息,请告诉我。

添加到proguard-rules.pro:
-keep class com.jcraft.jsch.*{*}

您不应该禁用ProGuard/R8,而应该编写
-keep
规则来处理所有的投诉。