我正在创建一个 Android 扩展,该扩展旨在基于众所周知的JSch库连接到远程SSH主机,以便一旦按下按钮,就可以实例化该类。方式,出现否编译错误:
JSch jsch = new JSch();
...但是,应用程序崩溃了!
查看 JSch()构造函数,里面没有任何内容:
public JSch(){
// here there are several commented instructions that need to be
// used just at MAC operational systems (not my OS).
}
如果我删除启动,编译器会抱怨变量 jsch 没有初始化。
JSch jsch;
一旦我使用 Apache Ant 进行编译,便没有可用于跟踪运行时错误的调试资源。
所有测试都在线程或回调方法中进行,给出相同的结果;我根本无法启动jsch变量,这会产生运行时异常 com.jcraft.jsch.JSch 。 有人对如何解决该问题有见识吗?
答案 0 :(得分:0)
我能够安装 Android SDK工具,并通过 ADB logcat> file.txt 命令捕获日志后,以下句子多次出现:
java.lang.NoClassDefFoundError:com.jcraft.jsch.JSch
这意味着用apache命令 ant extensions 编译的扩展文件(.aix)没有在其中嵌入上述类。 这就完全解释了这个问题(在构造函数上实例化时应用崩溃)-下一步是发现如何封装依赖关系-如果我不能自己做的话,一定将其封装在另一个线程中。