NDK
文章平均质量分 54
普通网友
这个作者很懒,什么都没留下…
展开
-
你必须知道的ABI和CPU关系
内容出自:http://blog.csdn.net/xx326664162/article/details/51167849 ABI和CPU的重要知识1、 大部分cpu都支持多于一种的ABI。 2、 当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。3、 注意:上表格中的空白部分,是我不知道它是否支持,极有可能是不支持解析: x86设备上,选择ABI的优先级lib转载 2017-11-28 21:32:16 · 2983 阅读 · 0 评论 -
Asset Manager 资源
原文链接 https://developer.android.google.cn/ndk/reference/group___asset.html文件file asset_manager.h file asset_manager_jni.hasset_manager.h 类型定义符: AAssetManager AAsetDir AAsset枚举...翻译 2018-02-12 23:24:28 · 816 阅读 · 0 评论 -
NDK Reference
API参考NDK的API参考包括NDK针对Android提供的原生标头基本集的相应文档。这些标头及相关库可显示各种功能,不然只能通过Android框架访问这些功能。一下是其中的几项功能:使用硬件传感器。访问存储空间处理用户输入设置配置信息,如屏幕方向。 API参考提供有关NDK中附带的上述功能及其他功能的详细信息。...翻译 2018-02-12 21:07:40 · 241 阅读 · 0 评论 -
使用现有库
本部分阐述如何使用您自己的以及 NDK 提供的现有库。首先介绍如何使用您自己的预构建库。 然后,介绍 NDK 提供的 C++ 帮助程序运行时,以及如何使用它们。 最后,提供有关 NDK 提供的其他库的信息,如 OpenGL ES 和 OpenSL ES,以及支持这些库所需的最低 Android API 级别。NDK 支持使用预构建库,静态库和共享库均受支持。针对此功能提供两个主要用例:向第三方 ND转载 2017-11-22 17:01:35 · 270 阅读 · 0 评论 -
ndk-build
ndk-build文件是Android NDK r4中引入的一个shell脚本。其用途是调用正确的NDK构建脚本。内部构建运行ndk-build脚本相当于运行一下命令:$GNUMAKE -f <ndk>/build/core/build-local.mk<parameters>$GNUMAKE 指向 GNU Make 3.81 或更新版本, 指向 NDK 安装目录。 您可以使用此信息从其他 she转载 2017-11-22 15:09:28 · 207 阅读 · 0 评论 -
Application.mk
本文档介绍Application.mk构建文件,此文件用于描述应用需要的原生模块。模块可以使静态库、共享库或可执行文件。概览Application.mk文件实际上是定义要便宜的多个变量的微小GNUMakefile片段。它通常位于 PROJECT/jni/下,其中PROJECT/jni/下,其中 PROJECT指向应用的项目目录。另一种方式是将其放在顶级$NDK/apps/ 目录的子目录。例如:$N转载 2017-11-22 14:54:26 · 215 阅读 · 0 评论 -
Android.mk
本页介绍用于将C和C++源文件粘合至Android NDK的Android.mk 构建文件的语法。概念Android.mk 文件位于项目 jni/ 目录的子目录中,用于向构建系统描述源文件和共享库。 它实际上是构建系统解析一次或多次的微小 GNU makefile 片段。 Android.mk 文件用于定义 Application.mk、构建系统和环境变量所未定义的项目范围设置。 它还可替换特定模块转载 2017-11-22 14:27:39 · 187 阅读 · 0 评论 -
NDK
NDK 能够在Android应用中使用原生代码对于想执行以下一项或多项的开发者特别有用:在平台之间移植其应用 重复使用现有库 主要组件:ndk-build:ndk-build脚本用于在NDK中心启动构建脚本。 自动探测您的开发系统和应用项目文件以确定要构建的内容。生成二进制文件将二进制文件复制到应用的项目路径。Java Android构建过程从Java来源生成.dex文件,这些文转载 2017-11-22 10:41:46 · 800 阅读 · 0 评论 -
异常处理
异常处理是Java程序设计语言的重要功能,Jni中异常行为与Java中的有所不同。在Java中当抛出一个异常时,虚拟机停止执行代码块并进入调用栈反向检查能处理特定类型异常的异常处理程序代码块,这也叫作捕获异常。虚拟机清除异常并将控制权交给异常处理程序,相比之下JNI要求开发人员在异常发生后显式地实现异常处理流。1.捕获异常调用throwingMethod方法时,accessMethods原生方法需要转载 2017-11-30 23:34:07 · 152 阅读 · 0 评论 -
调用方法
与域一样,java中有两类方法:实例方法和静态方法。Jni提供访问两类方法的函数,含有一个静态方法和一个实例方法的Java类。public class JavaClass{ private String instanceMethod(){ return "Instance Method"; } private static String staticMetho转载 2017-11-30 22:41:58 · 382 阅读 · 0 评论 -
NIO操作
原生I/O在缓冲区、大规模网络和文件I/O及字符集支持方面的性能有所改进。JNI提供了在原生代码中使用NIO的函数。与数组操作相比,NIO缓冲区的数据传送性能较好,更适合在原生代码和java应用程序之间传送大量数据。1.创建直接字节缓冲区 原生代码可以创建java应用程序使用的直接字节缓冲区,该过程是以提供一个原生C字节组为基础。//基于给定C字节数组创建字节缓冲区unsigned char*转载 2017-11-30 21:56:56 · 209 阅读 · 0 评论 -
对引用数据类型的操作
引用类型以不透明的引用方式传递给原生代码,而不是以原生数据类型的形式呈现,因此引用类型不能直接使用和修改。JNI提供了与这些引用类型密切相关的一组API,这些API通过JNIEnv接口指针提供给原生函数。字符串数组NIO缓冲区字段方法1字符串操作字符串操作JNI把Java字符串当作引用类型来处理。这些引用类型并不像原生C字符串一样可以直接使用,JNI提供了Java字符串与C字符串之间相互转载 2017-11-30 20:45:25 · 236 阅读 · 0 评论 -
Jni实现与原生代码通信
(以Hello-jni为例) 1.原生方法声明 stringFromJNI方法声明中含有关键字native以通知java编译器,它用另一种语言提供该方法的具体实现。因为原生方法没有方法体,方法声明以语句终结符分号结尾。public native String stringFromJNI();尽管虚拟机知道该方法被原生实现,但是仍然不知道到哪去找方法的实现。2.加载共享库原生方法被编译成一转载 2017-11-30 16:09:47 · 170 阅读 · 0 评论 -
NDK reference-asset_manager.h
文章内容源自:https://developer.android.com/ndk/reference/asset__manager_8h.html类型定义符: - typedef struct AAssetmanager - AAssetManager通过创建AAsset对象提供对应用原始资源的访问。 (typedef struct AAsset AAsset转载 2017-11-30 15:36:02 · 332 阅读 · 0 评论 -
Android studio 如何创建创建第三方库生成自己的jar
原文链接:http://www.jianshu.com/p/a73202c3bedb 1.创建moulde (1)File — New Moudle File — New Moudle1.png (2)选择Android Library — NextFile — New Moudle2.png (3)填写Moudle名 — Finish。一个新的Moudle就完成啦。 填写M转载 2017-12-08 12:23:14 · 356 阅读 · 0 评论 -
使用SWIG自动生成JNI代码
介绍简化的包装器和接口生成器,SWIG是可以通过自动生成必要的JNI封装代码来简化上述过程的开发工具。为原生代码定义SWIG接口基于所定义的接口生成JNI代码将SWIG集成到Android构建过程中包装C/C++代码异常处理使用内存管理为原生代码中调用Java程序(待完成)转载 2017-12-08 12:14:31 · 474 阅读 · 0 评论 -
位图
原文链接 https://developer.android.google.cn/ndk/reference/group___bitmap.html文件file bitmap.h数据结构struct AndroidBitmapInfo宏define ANDROID_BITMAP_RESULT_SUCCESS ANDROID_BITMAP_RESU...翻译 2018-02-12 23:43:43 · 261 阅读 · 0 评论