Такая история, у меня есть проект написаный на C++, который компилируется и работает.
Так же у меня есть проект android.
По сути в проекте C++ всего несколько функций(маленький проект) и все они мне нужны в моем android проекте.
Теперь вопрос : как правильно сделать такую интеграцию?
Я думаю, что нужно этот C++ проект собрать как библиотеку, добавить его в андроид как билиотеку и работать с ним.
Или может добавить этот проект как дополнительный модуль и через NDK использовать его как то...
В общем никогда этого не делал. Подскажите кто с этим сталкивался как это должно работать? Какая последовательность добавления C++ проекта в android проект?
Правка
Я понял, что есть возможность добавить ndk в проект и следуя этому туториалу
https://developer.android.com/studio/projects/add-native-code
добавить код "типо" C++, потому что код в JNI выглядит так
extern "C" JNIEXPORT jstring JNICALL
Java_com_google_ar_core_examples_java_helloar_HelloArActivity_stringFromJNINew(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
но это не синтаксис C++ ... По крайней мене насколько я знаю...
Это значит, что я не могу взять класс который написан на C++ скопировать его и пользоваться, так как синтаксис в моем C++ классе и синтаксис который предлагает Android Studio он похож, но это не одно и тоже. Значит мне нужно его переписывать...
Я подумал о второй опции... Ведь как то же должна быть возможность открыть проект в VisualStudio и собрать из этого проекта что то типа .so и уже эту библиотеку добавить как то так
https://stackoverflow.com/questions/24357687/how-to-include-so-library-in-android-studio
Любые предположения приветствуются
Смотри, вот документация от Google https://developer.android.com/studio/projects/add-native-code
Продвижение своими сайтами как стратегия роста и независимости