![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NDK
文章平均质量分 83
givemefive_001
这个作者很懒,什么都没留下…
展开
-
Mac环境下gdb调试Android ndk代码
Android从4.4开始,强制打开了SELinux,其规则是不允许一个进程attach到一个非自己的子进程或兄弟进程上进行调试的,哪怕这个进程是以root用户启动的也不行。想要知道当前SELinux的工作模式,可以在adb shell下键入getenforce命令,例如:xxx:/$ getenforceEnforcing这是在我运行Android 8.0系统的Google 模拟器上运行的结果,可以看出,其已经默认打开了强制(Enforcing)模式。所以,要想调试成功,必须要关闭SELinux的原创 2021-02-07 16:46:05 · 431 阅读 · 0 评论 -
JNI浅谈
分散知识点:每一个进程对应一个Runtime,每一个Runtime对应一个JavaVMExt(JavaVM),是ART虚拟机中全局唯一的虚拟机代表,可以通过Runtime::GetJavaVM函数获取。每个线程对应一个tlsPtr结构体,tlsPtr中的pthread_self代表一个线程,每个线程都有一个JNIEnvExt(JavaEnv)。根据JNI规范,目标动态库必须和一个ClassLoader对象相关联,同一个动态库不能由不同的ClassLoader对象加载JavaVM:LoadNat原创 2021-01-15 16:06:50 · 305 阅读 · 0 评论