Я пытаюсь взять довольно большое существующее приложение c ++ и сделать из него APK, чтобы оно работало на архитектурах Android, для чего требуется, чтобы код C ++ был упакован с помощью JNI или был переписан на Java. Я изучал, как выполнить первый вариант.
В моем исследовании я натолкнулся на две статьи, которые меня немного волнуют за весь процесс. Статья первая Вкратце расскажу о сложности и, как следствие, о потере производительности, которую оправдывает обертывание моего кода C ++ с помощью JNI. Статья вторая (все это будет плохая статья ИМХО) заставляет меня еще больше беспокоиться о процессе.
Процесс:
Соберите все зависимости моего приложения C ++ в статические или распределенные библиотеки.
Оберните существующий код с помощью JNI.
В конце концов используйте Android NDK (так же, как Cmake или make), чтобы создать APK, который я так отчаянно ищу.
Главный вопрос, который у меня возникает, заключается в том, облегчает ли весь этот процесс кроссплатформенный инструментарий MSVC 2015 / IDE / как вы хотите его назвать? я знаю, что кроссплатформенный инструмент использует ndk, чтобы делать по сути то же самое, что я делаю вручную, но как и где JNI входит в кроссплатформенные инструменты? Могу ли я просто взять свое текущее решение и импортировать его в кроссплатформенное решение, черная магия выскочит и выскочит мой APK? Или кроссплатформенная функциональность не влияет на процесс, который я сейчас пытаюсь?
(так как это новая учетная запись, я не могу опубликовать все ссылки, которые я хочу, извините)
Задача ещё не решена.
Других решений пока нет …