Приложение вылетает всякий раз, когда создается экземпляр (пустой) конструктор - PullRequest
0 голосов
/ 02 мая 2019

Я создаю расширение Android , предназначенное для подключения к удаленному SSH-хосту на основе хорошо известной библиотеки JSch , так что после нажатия кнопки создается экземпляр класса таким образом, с нет ошибка компиляции:

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 . Есть ли у кого-то понимание того, как решить эту проблему?

1 Ответ

0 голосов
/ 07 мая 2019

Мне удалось установить Android SDK-tools и после захвата команды Журнал через строку ADB logcat> file.txt было следующеепредложение много раз:

java.lang.NoClassDefFoundError: com.jcraft.jsch.JSch

Это означает, что файл расширения (.aix) скомпилирован с помощью команды apache муравьиные расширения не встраивали вышеупомянутый класс в него.Это вообще объясняет проблему (сбой приложения, создание экземпляра вышеупомянутого конструктора - отсутствует), и следующий шаг - выяснить, как инкапсулировать зависимости - конечно, в другом потоке, если я не смогу это сделать самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...