Нужна ли отдельная библиотека с нативной функцией для загрузки библиотеки с основной функцией? - PullRequest
2 голосов
/ 09 мая 2019

Точно так же, как в теме, мне нужна отдельная библиотека lib с нативным fuction для загрузки библиотеки lib с основной функцией? Или это рекомендовано для этого?

В этот момент я получил эти собственные функции, скомпилированные с помощью main.so, но я не уверен, так ли это должно быть.

нативная библиотека загружается перед основной

protected String[] getLibraries() {
        return new String[] {
            "SDL2",
            "hidapi",
            "native",
            "main"
        };
    }

И внутри у меня есть куча этих родных функций, одна из которых в качестве примера

JNIEXPORT int JNICALL Java_org_libsdl_app_SDLActivity_nativeRunMain(jstring library, jstring function, jobject array)
{
  return Java_org_libsdl_app_SDLActivity_nativeRunMain("libmain.so", "SDL_main", NULL);
}

Пока приложение запускает загрузку библиотек, и больше ничего не пыталось увидеть, идет ли log_android из основной функции, но это не так.

1 Ответ

0 голосов
/ 11 мая 2019

ОК, решение моей проблемы было довольно странным.Мне пришлось сгенерировать весь пакет с нуля, используя один из сценариев сборки, предоставляемый SDL2.Затем я скопировал некоторые файлы из старого и теперь у него есть доступ к функции int main ().

Вот журнал из Logcat.

05-11 12:42:28.829 10315 10315 V SDL     : Device: santoni
05-11 12:42:28.829 10315 10315 V SDL     : Model: Redmi 4X
05-11 12:42:28.829 10315 10315 V SDL     : onCreate()
05-11 12:42:28.890 10315 10315 V SDL     : nativeSetupJNI()
05-11 12:42:28.890 10315 10315 V SDL     : AUDIO nativeSetupJNI()
05-11 12:42:28.890 10315 10315 V SDL     : CONTROLLER nativeSetupJNI()
05-11 12:42:28.900 10315 10315 D hidapi  : Initializing Bluetooth
05-11 12:42:28.929 10315 10315 D AccessibilityManager: current package=org.libsdl.app, accessibility manager mIsFinalEnabled=false, mOptimizeEnabled=false, mIsUiAutomationEnabled=false, mIsInterestedPackage=false
05-11 12:42:28.952 10315 10315 V SDL     : onResume()
05-11 12:42:28.986 10315 10336 I Adreno  : QUALCOMM build                   : dd15ef5, Ic280a69317
05-11 12:42:28.986 10315 10336 I Adreno  : Build Date                       : 05/09/17
05-11 12:42:28.986 10315 10336 I Adreno  : OpenGL ES Shader Compiler Version: XE031.09.00.04
05-11 12:42:28.986 10315 10336 I Adreno  : Local Branch                     : 
05-11 12:42:28.986 10315 10336 I Adreno  : Remote Branch                    : quic/gfx-adreno.lnx.1.0.r5-rel
05-11 12:42:28.986 10315 10336 I Adreno  : Remote Branch                    : NONE
05-11 12:42:28.986 10315 10336 I Adreno  : Reconstruct Branch               : NOTHING
05-11 12:42:28.994 10315 10336 I OpenGLRenderer: Initialized EGL, version 1.4
05-11 12:42:28.994 10315 10336 D OpenGLRenderer: Swap behavior 1
05-11 12:42:28.995 10315 10315 V SDL     : surfaceCreated()
05-11 12:42:28.995 10315 10315 V SDL     : surfaceChanged()
05-11 12:42:28.995 10315 10315 V SDL     : pixel format RGB_565
05-11 12:42:28.996 10315 10315 V SDL     : Window size: 720x1230
05-11 12:42:28.996 10315 10315 V SDL     : Device size: 720x1280
05-11 12:42:29.001 10315 10315 V SDL     : nativeResume()
05-11 12:42:29.002 10315 10338 V SDL     : Running main function SDL_main from library /data/app/org.libsdl.app-1/lib/arm64/libmain.so
05-11 12:42:29.002 10315 10338 V SDL     : nativeRunMain()

Также к следующей проблеме, которая ожидаетдля меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...