Android: Как вызвать функцию ndk из Kotlin?

Этот код работает на Java. Но после перехода к Kotlin, компилятор higlits метод native fun stringFromNative(): String как ошибка со следующим текстом:

Функция без тела должна быть абстрактной

 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!

Ответ:

 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 вне объекта-компаньона и в MainActivity .

    (Я нашел ответ, посмотрев https://github.com/ligee/kotlin-ndk-samples )