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

前端之家收集整理的这篇文章主要介绍了Android:如何从Kotlin调用ndk函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
代码适用于 Java.但是在迁移到Kotlin之后,编译器higlits方法本机乐趣stringFromNative():String作为错误,带有以下文本:

Function without a body must be abstract

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,Toast.LENGTH_LONG).show()
}

   init {
        System.loadLibrary("_ndkkt")
    }

    external fun getStringFromNative(): String
}

}

解决方法

将外部有趣的stringFromNative():字符串放在随播对象之外并放入MainActivity中.

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

猜你在找的Android相关文章