Как добавить уже скомпилированный код C в проект студии android? - PullRequest
0 голосов
/ 17 апреля 2019

После того, как я уже проверил это 1 и 2 и еще несколько, я не смог найти ответ, так что ...

Я пытаюсь найти способвключить некоторый код C, который у меня есть, в проект Android, но без необходимости передавать исходные файлы непосредственно в проект Android.Я бы хотел, чтобы в Android была доступна непосредственно скомпилированная версия кода C.Поэтому моя идея заключалась в том, чтобы иметь тестовое приложение для Android, в которое я включил исходный код C вместе с CMakeLists.txt, и он правильно скомпилирован (с использованием ниндзя) и приложение работает правильно.
Он создал эти выходные папки, как показано накартинка здесь для разных архитектур.
AndroidStudio

Так что моя идея заключалась в том, чтобы извлечь эти папки

Но я не уверен, как мне действовать дальше.
- Как можноЯ включаю его в приложение или даже если этого достаточно?
- Есть ли другой способ включить какой-либо нативный код в приложение Android без предоставления исходного кода?
- Можно ли было бы сделать фиктивный грейдподключить и прикрепить этот код в качестве зависимости от него, чтобы я мог опубликовать подключаемый модуль и использовать этот же подключаемый модуль в приложении для Android?

1 Ответ

0 голосов
/ 17 апреля 2019

Очевидно, что если вы сохраните имя jniLibs Android Studio сможет понять местоположение и автоматически импортировать скомпилированный код в apk, поскольку это стандартное расположение для исходного кода Java в Android Studio.
Когда я поместил папку jniLibs в нужное место app/src/main/jniLibs/(the architectures here), приложение для Android работало корректно, не указывая ничего другого.

Кроме того, как я увидел здесь , вы также можете иметь собственное имя для своей папки и указать следующее в app/build.gradle

android{
   sourceSets {
       main {
           jniLibs.srcDirs = ['libs']
       }
   }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...