首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
省油的灯
掘友等级
Android
|
hangzhou
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
7
文章 7
沸点 0
赞
7
返回
|
搜索文章
最新
热门
写了个AS插件:SmartNDKStack,快速定位Android Native开发Crash
对于Android Native开发的人员而言,可能经常会在开发过程及线上环境中遇到Native Crash的问题,对于这类native crash,我们一般都会直接addr2line,或使用ndk中
Android JNI介绍(九)- 动态库逆向
经常在一些地方看到类似于这样的介绍:一些重要的字段不要放在Java代码中,需要放在native。 但是事实上,并没有绝对的安全,即使是将数据放在native,我们也可以使用IDA等工具进行查看,对于未加密的常量字段数据,我们可以在.rodata数据段直接看到数据内容,即使是通过…
仿系统日志实现一个Crash日志采集工具
主要还是一个学习的过程,了解一下unwind库和elf文件结构,若有哪里描述有误,希望大佬们能够指出。 Revision 指的是硬件,而不是软件。通常情况下不使用 revision,但使用 revision 有助于您自动忽略由不良硬件导致的已知错误 并非所有崩溃问题都会有中止消…
Android JNI介绍(八)- CMakeLists的使用
(ndk-build + android.mk + application.mk的方式也可以编译,但是用的已经不多了),工欲善其事,必先利其器,如果熟悉了CMakeLists的编写,对于JNI开发会有不小的帮助。本文将介绍一些常见的CMakeLists的脚本编写方法。 简单来说…
Android JNI介绍(七)- 引用的管理
在前面的文章中,我们已经了解了JNI的工程结构、调用流程、异常处理等知识,本文将介绍JNI中的引用管理。 局部引用,引用表的持有者是JNIEnv,在函数执行完时会自动释放,但是在函数执行过程中创建过多就会导致内存溢出或引用表溢出。 全局强引用,引用表的持有者是JVM,引用对象不…
Android JNI介绍(六)- 依赖其他库
在前面的文章中,我们已经了解了Java函数和native函数的绑定过程,了解了Java和native的绑定方法,本文将介绍如何让一个库依赖其他库。 首先介绍下动态库和静态库的概念。 在开发过程中,我们常常会用到一些常用的公共函数,我们可以将这些函数编到库中,在编写其他程序的时候…
Android JNI介绍(五)- 函数的注册
在前面的文章中,我们已经了解了JNI基本的代码编写方法和异常处理,但是函数的注册这一块我们还只是按照规则来,比如静态注册时,JNI是怎么按照Java_包名_类名_函数名这个规则来找native函数的?本文将对这一块进行解析。 我们已经了解到,JNI会按照类似Java_包名_类名…
Android JNI介绍(四)- 异常的处理
在上一篇文章中,我们已经了解了如何进行Java和Native的交互,本文将介绍在JNI中如何进行Java异常处理。 JNI也可以进行异常的捕获,我们也来看一下如何在native进行异常的处理。 需要注意的是,这里抛出的是Throwable,也就是说,不仅可以抛出Exceptio…
Android JNI介绍(三)- Java和Native的互相调用
在上一篇文章中,我们已经了解了第一个JNI工程的一些细节,以及对JNI调用进行了一些简单说明。接下来详细介绍下如何在Java和Native代码之间进行互相调用。 这个函数的内容也很简单,创建了一个string对象,然后将其转换为jstring对象并回传。 该函数的功能是根据传入…
Android JNI介绍(二)- 第一个JNI工程的详细分析
在上一篇文章中,我们已经介绍了一个JNI工程的大致结构,接下来本文将对这个工程中的一些细节进行介绍。 以上大致就是使用的一个流程,接下来回到工程,对这个默认的工程的一些细节进行解释。 1. extern "C" 这个提示是在运行后点击按钮出现的,也就是说,动态库加载成功了,那只…
下一页
个人成就
文章被点赞
132
文章被阅读
53,408
掘力值
1,081
关注了
34
关注者
87
收藏集
1
关注标签
9
加入于
2019-08-07