ktor android本地http服务器抛出错误

Sag*_*ari 7 android localhost httpserver kotlin ktor

我做了什么?

  1. 添加了依赖项下build.gradle
implementation "io.ktor:ktor:1.3.2"
implementation "io.ktor:ktor-server-netty:1.3.2"
implementation "io.ktor:ktor-gson:1.3.2"
Run Code Online (Sandbox Code Playgroud)
  1. AndroidMenifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
Run Code Online (Sandbox Code Playgroud)
  1. MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        embeddedServer(Netty, 9000) {
            install(ContentNegotiation) {
                gson {}
            }
            routing {
                get("/") {
                    call.respond(mapOf("message" to "Hello world"))
                }
            }
        }.start(wait = true)
    }
}
Run Code Online (Sandbox Code Playgroud)

什么地方出了错?

运行应用程序后,我收到以下错误并且 Android 本地服务器未启动。

No implementation found for int io.netty.channel.kqueue.Native.sizeofKEvent() 
(tried Java_io_netty_channel_kqueue_Native_sizeofKEvent 
and Java_io_netty_channel_kqueue_Native_sizeofKEvent__)

No implementation found for int io.netty.channel.epoll.Native.offsetofEpollData() 
(tried Java_io_netty_channel_epoll_Native_offsetofEpollData 
and Java_io_netty_channel_epoll_Native_offsetofEpollData__)
Run Code Online (Sandbox Code Playgroud)

mad*_*ead 4

Netty 的原生传输不支持 Android。您可能应该尝试其他 Ktor 引擎,例如 CIO 或 Jetty。