
NDK开发
文章平均质量分 63
sunbinkang
智能家居,互聯網,多媒體
展开
-
Android JNI系列详解之ndk-build工具的使用
Android.mk是ndk-build编译必配的一个文件,Application.mk是可选配的(如编译的目标库未使用C/C++标准库,也不需要指定cpu指令集对应的abi),如果未配置Application.mk会走默认的这些配置。Android.mk:用于向ndk-build编译工具描述源文件和库的信息,如要生成什么类型的库(动态、静态),库的名称,以及生成库使用了哪些C/C++源码文件,或者使用了哪些第三方库文件,等等。这时候去运行项目,会出现崩溃,错误是找不到libhaha.so。原创 2023-08-31 00:07:58 · 2853 阅读 · 0 评论 -
Android JNI系列详解之ndk编译工具环境变量配置
这里是因为我在c:\Users\86157目录下没有相关的配置文件,所以打印的这个。如果是正式项目下有Android.mk和Application.mk配置文件,就可以正式的进行编译了。下节介绍如何使用ndk-build进行编译。之前是只介绍了CMake编译工具的使用,现在介绍另一种原生(NDK自带的脚本工具)自带的编译方式:ndk-build,想要使用ndk-build编译工程,我们需要配置全局的环境变量。找到ndk在电脑上的安装路径,没有的可以点download下载,我这个也是刚在as下载的。原创 2023-08-27 23:07:15 · 1253 阅读 · 0 评论 -
Android JNI系列详解之生成指定CPU的库文件
如上图所示,不同手机使用了不同的cpu,不同的cpu支持不同的指令集,每种指令集有对应的二进制接口abi(arm64-v8a、armeabi-v7a、x86、x86_64就是四种abi类型 ),就是二进制库文件。其中手机常用的是arm64-v8a、armeabi-v7a,平板和虚拟机上更多的是x86、x86_64。如上图所示,是我们之前使用CMake工具默认生成的四种cpu架构的动态库文件:arm64-v8a、armeabi-v7a、x86、x86_64,分别对应对四种不同cpu类型的支持。原创 2023-08-27 22:46:19 · 902 阅读 · 0 评论 -
Android JNI系列详解之CMake配置库文件的输出目录
如果遇到了,意思是有重复的库文件,就是build下有一份会被加载进项目,jniLibs这个指定的目录也会加载进项目。1.默认的库文件输出路径:app/build/intermediates/cmake/debug/obj。是指与CMakeList.txt所在目录的同级目录:jniLibs (如果没有会新建)生成库文件时,采用gradle配置的ABI策略(即:生成哪些平台对应的库文件)是指 cmake库的源路径,通常是build/.../cmake/这是我在项目中加的代码。原创 2023-08-25 00:09:10 · 1061 阅读 · 0 评论 -
Android JNI系列详解之AS创建Native C++项目
Android Studio版本:Android Studio Electric Eel | 2022.1.1 Patch 1。6.buil.gradle中也自带了CMakeList的配置(包含CMakeList的路径和版本)界面显示的字符串来自于C++的代码,说明Java调用C++代码成功。8.编译运行之后的库文件在build目录下。2.选择新建Native C++项目。4.选择C++标准库的支持版本。5.项目自带的默认生成的代码。7.C++代码的实现。9.默认程序运行效果。原创 2023-08-22 23:48:00 · 1311 阅读 · 0 评论 -
Android JNI系列详解之CMake编译工具的使用
如图所示,CMake工具的主要作用是,将C/C++编写的native源文件编译打包生成库文件(包含动态库或者静态库文件),集成到Android中使用。原创 2023-08-24 23:41:14 · 1426 阅读 · 0 评论 -
Android JNI系列详解之CMake和ndk-build编译工具介绍
CMake:cross platform make,是跨平台的编译工具CMake是在AndroidStudio2.2之后引入(目前默认的NDK编译工具),使用时配合CMakeList.txt和gradle。对C++的配置:默认配置了libc++;默认启用了C++异常;默认启用了RTTI(运行时类型识别)原创 2023-08-20 22:58:56 · 836 阅读 · 0 评论 -
Android JNI系列详解之JNI、NDK环境搭建和编译工具安装
JNI属于Java中的一部分,所以只需要搭建Java环境就有了JNI的环境,安装Java的环境可以网上查找教程,很多的安装JDK的博客。本地开发工具包:通过AndroidStudio下载:SDK Manager->SDK Tools->NDK。在上面的第三步安装好了NDK,就自带了ndk-build工具。因此我电脑已经拥有了ndk-build工具。本文主要介绍JNI、NDK环境变量的搭建,以及CMake工具的安装和ndk-build工具的安装。原创 2023-08-20 23:34:10 · 779 阅读 · 0 评论 -
Android JNI系列详解之NDK和JNI介绍
而在Android中,Java或者kotlin代码编写程序,也是需要先生成classes文件,在Android还需要将classes文件使用dx工具打包成dex文件(会将classes中冗余的信息去除,会比class文件少很多,文件少就会减少io的操作,提高了类的查找速度),然后dex文件经过Android的虚拟机Dalvik/ART(与JVM虚拟机不同的是,android虚拟机基于的是CPU寄存器,而JVM基于的是堆栈,CPU寄存器的性能要比堆栈的高)翻译成机器码,才能给到设备执行。原创 2023-08-20 22:38:20 · 576 阅读 · 1 评论 -
NDK之C与C++开发工具准备工作(CLion+Visual Studio2013)
一、开发工具的选择选择CLion左右开发工具。选择VS Code2013作为CLion的ToolChains(也可以选择winGW);虽然目前也不知道这个Toolchains是什么?二、安装工具1、我是先安装vscode 2013,进入最上面的这个文件夹,找到可执行文件vs_ultimate.exe,双击执行安装就行。安装的时候遇到如下的问题:(我电脑没装 IE 10)解决办法:https://jingyan.baidu.com/article/ff42efa92f79c.原创 2021-05-22 14:19:47 · 846 阅读 · 5 评论