自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android NDK开发(十三):JNI函数接口详解—线程相关

前面的文章中对于java层 、本地层、JNI层的定义似乎说的有些模糊,这里我按我的理解再定义一下,以便于更好的理解JNI和文章内容。java层就是用java语言写的逻辑,具体体现就是工程中的java文件。本地层就是用C/C++语言所写的逻辑,具体体现是工程中的C/C++文件。JNI层就比较抽象了,我把它定义成使用到JNI标准(JNI定义的接口或类型)的相关逻辑,包括使用到JNI标准的C/C++函数 和 与java native映射的 C/C++函数。

2022-11-14 18:22:57 1622 1

原创 Android NDK开发(十二):JNI函数接口详解—异常处理

我们已经知道,JNI层可以有java异常 和 C/C++异常,那如何处理JNI层的两种异常呢?JNI层抛的C/C++异常在JNI层,通过C/C++的try...catch捕获并处理JNI层抛的java异常在JNI层,通过JNI定义的与异常相关的接口处理 或在java层,通过try...catch捕获并处理JNI层的C/C++异常,通过在JNI层 使用C/C++的try...catch捕获并处理,JNI并没有定义处理C/C++异常的接口,JNI不能处理C/C++异常;

2022-09-26 19:08:19 1661

原创 Android NDK开发(十):JNI函数接口详解—数组处理

本篇文章介绍一下如何用JNI接口处理java数组。

2022-09-19 09:30:32 1659

原创 Android NDK开发(十一):JNI函数接口详解—引用

JNI中的引用与java中的类似,是用来在JNI中访问java对象的,那么JNI中谁来持有引用呢,那当然是引用变量,那么引用变量如何定义呢,那当然是通过JNI定义的引用类型。JNI中也定义了与java引用类型对应的引用类型(如:jobject、jstring、jclass、jarray、jintArray等),与java类似,JNI的这些引用类型定义的变量称为引用变量,用于持有相同类型的引用,进而访问Java对象。

2022-09-19 09:20:14 1203

原创 Android NDK开发(九):JNI函数接口详解—本地层使用java类及实例

通过JNI层,本地层可间接操作java 类和实例的属性和方法,包括实例化类、set/get属性值、调用方法等。由于涉及的接口比较多,我们按功能进行分类说明。

2022-08-19 16:45:40 1906

原创 Android NDK开发(八):JNI函数接口详解—字符串处理

java中的字符串默认是UTF-16编码,C/C++中的字符串默认是UTF-8编码,这就需要JNI提供一套具有字符串转换等功能的接口。(注意:其中UTF是Unicode TransformationFormat的缩写,UTF-8和UTF-16都属于unicode。)(1)涉及到的JNI接口 一共涉及到12个接口,根据操作操作字符串的编码格式不同可分为两部分: UTF-8编码 UTF-16编码 本地字符数组转为java字符串 NewStri...

2022-05-26 15:12:19 1476

原创 Android NDK开发(六):Java调用本地函数

1 java是如何通过JNI调用本地代码的?主要分两步,首先通过java的System.loadLibrary()方法在java代码中加载动态库,

2022-04-28 17:17:18 2573 1

原创 Android NDK开发(五):JNI基础

1 JNI简介 概念:JNI(Java Native Interface)java本地化接口,本质上是java为我们定义好的一揽子变量、函数、类等,通过这些方法可使 java语言 和 本地语言(C、C++、汇编语言) 进行交互(调用彼此的方法、修改彼此的变量) 作用:让 java 和 C、C++、汇编语言 进行交互(相互调用)。 注意:JNI属于java,NDK属于Android。2 JavaVM及JNIEnv对于JNI来说,JavaVM及JNIEn...

2022-04-11 11:18:01 3173

原创 在Windows上查看SO库的依赖情况的方法

本文主要介绍三种方法,用于在Windows系统上查看当前so库对其他so库的依赖情况。方法1:使用NDK自带的 ndk-depends.exe 打开cmd,执行 /你的路径/ndk-depends.exe xxx.so 即可。(注意:可执行程序ndk-depends.exe一般在NDK的安装目录,/prebuilt/windows-x86_64/bin 路径下,如果没有可单独下载)。方法2:使用arm-linux-gnueabihf-readelf.exe ...

2022-03-29 14:17:29 2542

原创 Android NDK开发(三):NDK + makefile文件 + make工具生成本地库

这种生成方法需要NDK,两个makefile文件Android.mk、Application.mk,make工具已经集成在NDK中,不需要额外安装。这种方法有两种实现方式:单独使用NDK和使用IDE,两种方式本质相同。由于Android基于Linux内核的,Android源码也需要在Linux环境下编译,单独使用NDK时,我们主要介绍在Linux环境下交叉编译Android的本地库(Linux和Android都是操作系统是并列概念);而借助AS IDE编译时,我们主要介绍在windows环境...

2021-11-24 08:57:09 4744

原创 Android NDK开发(二):生成Android本地库的方法

生成Android本地库(Android平台可用的C/C++库),需要使用NDK进行交叉编译,生成工具主要有CMake和Makefile两种。1 NDK简介(1)概念:NDK(Native Development Kit)是Google Android发布的本地开发工具集,包括C/C++编译器、交叉编译工具、一些标准库,如:C标准库、标准数学库、压缩库、Log库等。(2)用途:帮助开发者生成Android本地库(包括动态库和静态库),并能自动将so和java应用一起打包成apk。...

2021-11-23 14:20:43 3020

原创 Android NDK开发(一):C/C++库基础知识

1 C/C++库的本质 是编译好的C/C++的二进制代码,可以直接被CPU执行,加上头文件就可以供开发者使用。2 C/C++库分类 根据是否打入到依赖它的目标程序中,分为静态库和动态库。在不同操作系统上,C/C++库的后缀名如下: windows linux Android ios 静态库 .lib .a .a .a 动态库 .dll .so .so .dylib/.tbd 3...

2021-06-30 17:36:35 1950

IDA7.0,用于逆向分析so

IDA7.0,用于逆向分析so

2022-03-29

arm-linux-gnueabihf-readelf.exe

arm-linux-gnueabihf-readelf.exe

2022-03-29

ndk-depends

ndk-depends

2022-03-29

Matlab数字图像处理

matlab教程,能够帮助你用matlab熟练的进行图像处理

2014-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除