Я пытаюсь использовать интерпретатор python в своем приложении Android для запуска SymPy. Я уже скомпилировал Python для использования этого руководства. http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/Как использовать .so библиотеку в android
Это предоставило мне файл libpython2.7.so, который я ввел в jniLibs/armeabi /. В моем приложении я загрузить его следующим образом:
public class PythonTest {
static {
System.loadLibrary("python2.7");
}
public static native void Py_Initialize();
public static native void Py_Finalize();
public static native int PyRun_SimpleString(String s);
}
Я пытаюсь использовать методы из заголовков, расположенных в каталоге включают, который также можно найти здесь: https://docs.python.org/2/c-api/
Когда я запустить приложение на мое устройство я получаю следующее сообщение об ошибке:
No implementation found for void com.example.dorian.testapplication.PythonTest.Py_Initialize() (tried Java_com_example_dorian_testapplication_PythonTest_Py_1Initialize and Java_com_example_dorian_testapplication_PythonTest_Py_1Initialize__)
Так мне это кажется библиотека загружена, но, кажется, искать функции JNIEXPORT. Но разве я не могу использовать эту библиотеку без написания конкретных файлов на C++? А если нет, как бы это сделать. Может ли быть инструмент для создания файлов-оберток или чего-то подобного?
http://stackoverflow.com/questions/5659068/jni-tutorial-for-android должно помочь. – headuck