2015-11-28 3 views
0

Мне нужно интегрировать код C++ с Java-кодом с помощью JNI. У меня есть NativeCallHandler.java, который объявляет интерфейс, который мне нужно вызвать. Я также получил Android.mk, а LOCAL_MODULE - Hello.Не удалось найти «Hello.so»

Но у меня возникла ошибка, говоря, что он не смог найти «Hello.so». Я не знаю, что я сделал, это неправильно.

Может ли кто-нибудь помочь мне? Заранее спасибо!

+0

Ваш Lib будет называться ** libHello.so ** –

ответ

0

набор "LD_LIBRARY_PATH" перед программой запуска,

export LD_LIBRARY_PATH=/path/to/so

следовать моим java-native-interface-jni-tutorial при необходимости

ПРИМЕЧАНИЕ: Helloworld.java, HelloWorld.h, HelloWord.c, libHelloWorld. поэтому находятся в одном каталоге

  1. java с HelloWorld.java -> HelloWorld.class
  2. javah -jni HelloWord -> HelloWorld.h
  3. реализации HelloWord.c
  4. НКУ -fpic -shared helloworld.c -o libHelloWorld.so
  5. экспорта LD_LIBRARY_PATH = `pwd`
  6. Java HelloWorld
Смежные вопросы