Call Native Functions
ΠΡΠ·ΠΎΠ² Π½Π°ΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ
From C++
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ· cpp:
@JvmStatic
fun getSSLCertificatesFile(context: Context): String? {...}
Π‘Π°ΠΌ Π²ΡΠ·ΠΎΠ²:
QAndroidJniObject certificate_path = QAndroidJniObject::callStaticObjectMethod(
"SSLCertificateProvider",
"getSSLCertificatesFile",
"(Landroid/content/Context;)Ljava/lang/String;",
androidContext.object()
);
From Kotlin
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ· kotlin:
extern "C" JNIEXPORT jstring JNICALL Java_ru_example_curl_MainActivity_stringFromJNI(JNIEnv * env, jobject)
{
const auto s = to_utf16(get_string());
return env->NewString(reinterpret_cast<const jchar *>(s.c_str()), s.length());
}
Π Kotlin ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ, Π΄Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ stringFromJNI ΠΈΠ· kotlin:
class Test {
external fun stringFromJNI(): String
companion object {
init {
System.loadLibrary("native-lib")
}
}
}
Last updated
Was this helpful?