Android:如何从Kotlin调用ndk函数?

这段代码适用于Java。 但是在迁移到Kotlin之后,编译器higlits方法native fun stringFromNative(): String as error with following text:

没有身体的功能必须是抽象的

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Toast.makeText(this, stringFromNative(), Toast.LENGTH_LONG).show() } companion object { init { System.loadLibrary("_ndkkt") } native fun stringFromNative(): String } } 

谢谢@KenVanHoeylandt!

Andswer是:

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Toast.makeText(this, stringFromNative(), Toast.LENGTH_LONG).show() } init { System.loadLibrary("_ndkkt") } external fun getStringFromNative(): String } } 

external fun stringFromNative(): String放在随external fun stringFromNative(): String对象之外,并放入MainActivity

(我通过查看https://github.com/ligee/kotlin-ndk-samples找到答案)