Jak chytit UnsatisifiedLinkError při použití NDK-postavený knihovny v aplikaci pro Android?

hlasů
6

Mám projekt, Android, který obsahuje třídu, která používá JNI vytáhnout hodnotu z funkce C. Funkce C byl zabudován do knihovny pomocí NDK. Hodnota vrácená z funkce C se zase používá k inicializaci proměnné uvnitř třídy při jeho první zatížené. Tato metoda funguje spolehlivě. Nicméně, i já chci, aby to fungovat, když je knihovna chybí tím, že výchozí hodnotu. Takže Im pomocí něco takového:

static native String getstring();

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

Navzdory úlovku, Im ještě dostat UnsatisfiedLinkError při pokusu o spuštění tohoto kódu s chybějící knihovny. Proč nejsem lov výjimku? Co dělám špatně?

Položena 27/07/2010 v 23:49
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
10

UnsatisfiedLinkErrornení podtřídou Exception. Hierarchie UnsatisfiedLinkErrorIS:

Throwable->Error->UnsatisfiedLinkError

Radši chytit UnsatisfiedLinkError, pokud chcete, aby s ní zacházet.

Odpovězeno 28/07/2010 v 07:03
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more