gpt4 book ai didi

android-studio - 在android studio中用C代码输入JNI函数时出现art_sigsegv_fault

转载 作者:行者123 更新时间:2023-12-02 13:21:33 41 4
gpt4 key购买 nike

我正在使用Kotlin和JNI,因为我想将C程序移植到Android,所以我想知道为什么在JNI函数的断点被击中时,我现在会收到“art_sigsegv_fault”。

Kotlin代码:

import com.root.Main

class SettingsScreenActivity : AppCompatActivity() {

private val MainC = Main()

fun startButton(view: View)
MainC.callMainFromJNI("test")
}
}

MainC.c
JNIEXPORT void JNICALL Java_com_root_hping2_Main_callMainFromJNI(JNIEnv *env, jobject pThis, jstring argument){

printf("Size of char: %ld byte\n",sizeof(char));
return;
}

断点在printf上,但是,当我调试时,出现“art_sigsegv_fault”错误,并且我看不到任何参数值。这在Android Studio中

编辑:
当我删除jstring参数并且不将字符串传递给函数时,它可以正常工作。这是什么原因呢?

最佳答案

答案在:Different behavior of Native C++ Android projects when using Java and Kotlin as a base language

它似乎是有关API模拟器以及所使用版本的错误。如果版本降级为API 25,则没有问题。同样,如果应用程序是在设备而不是模拟器上构建的,则将有助于解决此问题。

关于android-studio - 在android studio中用C代码输入JNI函数时出现art_sigsegv_fault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54433385/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com