相关疑难解决方法(0)

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

此代码适用于Java.但是在迁移到Kotlin之后,native fun stringFromNative(): String使用以下文本将编译器higlits方法 作为错误:

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

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
}
}
Run Code Online (Sandbox Code Playgroud)

谢谢@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
}

}
Run Code Online (Sandbox Code Playgroud)

android android-ndk kotlin

8
推荐指数
2
解决办法
4221
查看次数

标签 统计

android ×1

android-ndk ×1

kotlin ×1