У меня есть довольно большой файл общей библиотеки (= 12 мегабайт), который не содержит никакого кода JNI.
При вызове System.loadLibrary("some_file")
метод никогда не возвращает и соответствующие выходные данные не генерируются. Кроме того, диспетчер задач Windows сообщает, что экземпляр эмулятора не загружает всю мощность процессора.
У меня есть класс со следующим кодом:
static
{
System.out.println("Trying");
System.loadLibrary("some_file");
System.out.println("Works");
}
Вот вывод, полученный из LogCat:
I/System.out(534): Trying
D/dalvikvm(534): Trying to load lib /data/data/app/lib/libsome_file.so 0x40643c20
Если я загружаю собственное тестовое приложение, использующее библиотеку libsome_file.so, и запускаю его из оболочки эмулятора, приложение работает.
Существует ли какой-либо метод для отладки того, что делает System.loadLibrary, или у кого-нибудь есть какие-то подсказки, почему System.loadLibrary может никогда не вернуться?