我正在尝试构建一个 Android 应用程序,该应用程序使用现有的 C 库进行一些后台操作(即进行一些无线电扫描、调到电台等)。作为一个独立的 C 可执行文件,主循环可以处理来自较低级别(硬件组件)的消息处理。我的理解是使用JNI,不需要main函数,因为
1)创建一个共享库并
2)只要加载它的java线程还活着,共享库就“活着”。
所以假设 C 库使用多个线程:那么通常在初始主循环中完成的消息处理应该在哪里完成?是否像调用与 JNI 函数一起声明的 C 函数一样简单?
我正在尝试构建一个 Android 应用程序,该应用程序使用现有的 C 库进行一些后台操作(即进行一些无线电扫描、调到电台等)。作为一个独立的 C 可执行文件,主循环可以处理来自较低级别(硬件组件)的消息处理。我的理解是使用JNI,不需要main函数,因为
1)创建一个共享库并
2)只要加载它的java线程还活着,共享库就“活着”。
所以假设 C 库使用多个线程:那么通常在初始主循环中完成的消息处理应该在哪里完成?是否像调用与 JNI 函数一起声明的 C 函数一样简单?