JNI和NDK
ruiurrui
If you can't fly, then run, if you can't run then walk, if you can't walk then crawl, but whatever you do, you have to keep moving forward.
展开
-
JNI和NDK开发(1)_创建JNI程序
开始学习JNI开发技术,在网上看了很多文章,但讲解的都是基础或者过时的技术,没有系统的关于JNI和NDK的学习教程,现在我写《JNI和NDK开发》系列文章,主要是记录自己从零开始学习遇到的一些问题和知识点,希望对大家也有些帮助。对于文章,本人也是边学边写, 所以可能会更新的慢一点,大家有问题可以留言。系列文章预计主要解决的问题是:JNI和NDK开发常用API的使用JNI和NDK开发常见...原创 2018-12-31 13:56:13 · 333 阅读 · 1 评论 -
JNI和NDK开发(2)_手动创建带JNI的依赖库
上文讲解了使用Android Studio自动创建和分析一个JNI的简单工程,这篇文章将讲述如何手动配置一个带JNI的依赖库。我们平时写一个工具SDK肯定是要在Module里编写,所以熟练掌握如何手动配置JNI的CMake编译是很有必要的。本文概览1、创建Module并配置JNI2、生成头文件和查看签名3、JNI中打印日志的使用4、生成AAR文件和SO库创建Module并配置JN1、...原创 2018-12-31 19:00:34 · 346 阅读 · 0 评论 -
JNI和NDK开发(3)_动态注册JNI函数
第一和第二篇讲解的是JNI函数的静态注册,这一篇将讲述如何实现JNI函数的动态创建。本文概览1、什么是静态注册2、什么是动态注册3、实现动态注册什么是静态注册静态注册是根据JNI的方法名字来实现与Java方法的映射对应关系。如下所示,方法名的组成是根据JNIEXPORT jstring JNICALL Java_+包名+_类名+_方法名组成。包名直接要用_连接。JNIEXPORT j...原创 2019-01-07 22:34:56 · 228 阅读 · 0 评论 -
JNI和NDK开发(5)_使用Obfuscator-LLVM混淆JNI代码
`LLVM`是`low level virtual machine`的简称,其实是一个编译器框架。llvm随着这个项目的不断的发展,已经无法完全的代表这个项目了,只是这种叫法一直延续下来。llvm是一个开源的项目。它最早的时候是Illinois的一个研究项目,主要负责人是Chris Lattner,他现在就职于Apple. Apple 目前也是llvm项目的主要赞助者之一。llvm的主要作用是它可以作为多种语言的后端,它可以提供可编程语言无关的优化和针对很多种CPU的代码生成功能。此外llvm目前已原创 2019-03-02 17:32:30 · 1800 阅读 · 3 评论