首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ndk
订阅
idealgrass
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
Linux的so文件到底是干嘛的?浅析Linux的动态链接库
上一篇我们分析了Hello World是如何编译的,即使一个非常简单的程序,也需要依赖C标准库和系统库,链接其实就是把其他第三方库和自己源代码生成的二进制目标文件融合在一起的过程。经过链接之后,那些第三方库中定义的函数就能被调用执行了。早期的一些操作系统一般使用静态链接的方式,…
NDK | 说说 so 库从加载到卸载的全过程
在这篇文章里,我将带你建立对 so 库从加载进内存到卸载整个过程的理解。另外,文末的应试建议也不要错过哦,如果能帮上忙,请务必点赞加关注,这真的对我非常重要。
Android动态加载So以及仿照Tinker实现
随着我们业务的增加,我们的包体积越来越大,然而占用包体积最多的是so文件,正常来说我们app内会打入 armeabi,armeabi-v7a,arm64-v8a,x86(当然这个是模拟器的,一般不打入),有的app为了减少包体积只打入armeabi 或者是 armeabi-v7…
Android 的 so 文件加载机制
最近碰到一些 so 文件问题,顺便将相关知识点梳理一下。 Q2,Q3,Q4,这几个问题都是基于设备支持 64 位的前提下,在旧系统版本中,只支持 32 位,也就没这么多疑问需要处理了。 由于这次的源码会涉及很多 framework 层的代码,包括 java 和 c++,直接在 …
android10 so加载浅析
java调用native的本质是什么?实质就是一个cpu跳转指令,如arm的bl指令,指令有个参数,得告诉指令跳转到什么地方,也就是内存地址。那如何获取方法内存地址,那首先方法得加载到内存吧,也就是方法所在的so得加载进内存,再根据so基址找到方法的内存地址。当然我们需要具备一…
Android - JNI 开发你所需要知道的基础
这篇文章主要讲解了 JNI 的基础语法和交叉编译的基本使用,通过这篇文章的学习就完全可以入门 Android 下 JNI 项目的开发了。 从 JVM 角度,存在两种类型的代码:“Java”和“native”, native 一般指的是 c/c++,为了使 java 和 nati…
[译] 在 UNIX 中,一切皆文件
为了有计划的发展架构设计、界面、文化和开发路线,UNIX 系统明确了一系列统一的概念和创想。这几点里面最重要的一点莫过于一句咒语:「一切皆文件」,被广泛认为是 UNIX 的定义之一。 最主要的设计原则是提供一个访问大范围输入/输出资源(包括文件、文件夹、硬盘、CD-ROM、调制…
JNI NDK入门详解
1. JNI开发流程 2. native方法命名 JNIEnv*是定义任意native函数的第一个参数,是指向JNI环境的指针,可以通过它来访问JNI提供的接口方法. jobject: 表示Java对象中的this. 如果是静态方法则是用jclass JNIEXPORT和JNI…
Android JNI介绍(一)- 第一个Android JNI工程
在平时的开发过程中,大多数人可能没有JNI方面的需求,因此JNI方面的工程配置、如何开始也都不太了解,而网上对此方面的介绍也比较少。因此,本系列文章将从一个新手的角度开始,介绍JNI编程。 Android NDK 是一套允许您使用 C 和 C++ 等语言,以原生代码实现部分应用…