2017-07-14 3 views
0

Ich bin Neuling mit Kotlin, ich habe erfolgreich NDK mit Android Studio konfiguriert (ohne Kotlin), dh in Java.So konfigurieren Sie NDK mit Kotlin in Android Studio 3.0

aber jetzt hat Google Kotlin eingeführt, also möchte ich mein bestehendes Projekt zu Kotlin mit NDK-Unterstützung ändern.

das ist mein Java-Code

static 
{ 
    System.loadLibrary("native-lib"); 
} 
public native String stringFromJNI(int i); 

Bitte helfen Sie mir, wie gleichen Code in Kotlin zu tun

+0

Versuchen Sie Kotlin zusätzlich zu der Einrichtung NDK? Hattest du dabei irgendwelche Probleme? – zsmb13

+0

Haben Sie gelesen: https://developer.android.com/kotlin/faq.html –

+0

@ zsmb13 Ja habe ich Setup mit keine Fehler – jarvis

Antwort

0

Sie diesen Beitrag auf Medium lesen kann: Android NDK: Interaction of Kotlin and C/C++

In diesem Artikel Autoren sahen, wie damit Kotlin mit C/C++ kommunizieren kann.

Beispiel:

Kotlin Code:

class Store { 

    companion object { 
     init { 
      System.loadLibrary("Store") 
     } 
    } 

    @Throws(IllegalArgumentException::class) 
    external fun getString(pKey: String): String 
} 

C++ Code:

extern "C" 
JNIEXPORT void JNICALL 
Java_com_ihorkucherenko_storage_Store_setString(
     JNIEnv* pEnv, 
     jobject pThis, 
     jstring pKey, 
     jstring pString) { 
    StoreEntry* entry = allocateEntry(pEnv, &gStore, pKey); 
    if (entry != NULL) { 
     entry->mType = StoreType_String; 
     jsize stringLength = pEnv->GetStringUTFLength(pString); 
     entry->mValue.mString = new char[stringLength + 1]; 
     pEnv->GetStringUTFRegion(pString, 0, stringLength, entry->mValue.mString); 
     entry->mValue.mString[stringLength] = '\0'; 
    } 
} 

Proben hier: https://github.com/KucherenkoIhor/KotlinWithAndroidNdk

Verwandte Themen