Как поймать UnsatisifiedLinkError при пользовании NDK-созданной библиотекой в приложении для Android?

У меня есть проект Android, который содержит класс, который использует JNI для получения по запросу значения от функции C. Функция C была встроена в библиотеку с помощью NDK. Значение, возвращенное от функции C, в свою очередь используется для инициализации переменной в классе, когда его первое загрузилось. Это хорошо работает. Однако я также хочу, чтобы это работало, когда библиотека отсутствует путем обеспечения значения по умолчанию. Таким образом, я использую что-то вроде этого:

static native String getstring();

static {
        try {
                System.loadLibrary("library");
                NAME = getstring();
        }
        catch (Exception e) {
                NAME = "Default";
        }
}

Несмотря на выгоду, я все еще получаю UnsatisfiedLinkError, когда я пытаюсь выполнить этот код с пропавшими без вести библиотеки. Почему я не ловлю исключение? Что я делаю неправильно?

6
задан Eno 27 October 2010 в 04:05
поделиться