Gar*_*eld 8 android android-ndk kotlin
此代码适用于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)
Kotlin :
call method from ndk file
external fun stringFromJNI(): String
load c++ file
companion object {
init {
System.loadLibrary("native-lib")
}
}
Run Code Online (Sandbox Code Playgroud)
放在external fun stringFromNative(): String伴侣物体外面并进入MainActivity.
(我通过查看https://github.com/ligee/kotlin-ndk-samples找到答案)
| 归档时间: |
|
| 查看次数: |
4221 次 |
| 最近记录: |