目录摘要基础知识NDK简介JNI简介JNI 注册方式JNI 类型CMake简介Android ABI 简介HelloWorldNDK环境配置编写相关配置及代码如何处理生成的soJNIEnv与JavaVMJNIEnvJavaVmJNI的三种引用局部引用(LocalRef)全局引用(GlobalRef)弱全局引用(WeakGlobRef) 摘要本文主要记录了自己在开发过程中对NDK入门知识的一个学习
转载 10月前
85阅读
硬件抽象层硬件抽象层(Hardware Abstraction Layer缩写),硬件抽象层主要为上层提供标准显示界面,并向更高级别的 Java API 框架提供显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载对应的库模块。系统运行库和运行环境层Android R
转载 10月前
45阅读
Android 10开发之 保存、读取图片概述从Android 10(Q)开始,谷歌就开始修改了外部存储权限,叫做分区存储,分区存储可以分为两个目录,分别是 沙盒目录(App-specific directory 和 公共目录(Public Directory)沙盒目录沙盒目录存储在 /Android/data/包名,保存文件到该目录,一般通过 Context.getExternalFilesDi
一、源码下载关于Android-WebRTC的源码下载编译很多教程。相关注意两个点:必须是用Linux系统,源码站点需要正确的上网方式,或者找国内镜像代替;根据实际情况把下载编译源码的过程记录在此,方便有需要的同学排忧解难。有什么问题可以私信访问。以下是本文的无脑教程:1、环境准备正确科学严谨的上网方法,建议代理系统所有网络。2、安装基础软件依赖检查更新依赖库:$ sudo apt-get upd
新开通了MSDN博客,第一篇先写下今天做的一个NDK的例子吧。因为也是几个月前才转做JAVA,所以对JNI也不是很熟悉,个人感觉NDK跟JNI区别主要是NDK直观来讲,就是个工具集,可以很方便的生成.so文件.常规步骤。一、安装cygwin.因为android是基于linux的系统,处理器是ARM的,所以在window平台上开发android程序,需要一个交叉编译器。cygwin可以模拟linux
转载 2024-03-07 09:48:33
240阅读
一、NDK和JNINDK是什么NDK是Native Development Kit 的缩写,是 Android 的工具开发包。作用是快速开发 C/C++ 的动态库,并自动将动态库与应用一起打包到 apk。NDK 是属于 Android 的,与 Java 无直接关系。JNI是什么JNI 是 Java Native Interface 的缩写,即 Java 的本地接口。目的是使得 Java
概述本文讲述如何使用Android Studio 进行NDK开发,适合略有了解C语言的人以及NDK入门开发。环境配置安装Android Studio,目前版本是2.1.2。可以去官方下载最新安装包,也可以百度上下载安装之后在线更新,这部分网上教程比较多,学习NDK开发的道友应该不会卡在这里。Android Studio安装完成之后Android SDK也包含在其中,但是不包含NDK。 打开File
转载 2023-07-01 23:39:06
48阅读
注意:本文操作环境为mac,Android Studio版本3.5 AndroidNDK开发入门前言一、安装和配置NDK1.安装NDK2.配置NDK环境二、CMake的方式编译生成so库1. Android Studio自动生成的示例1.1 新建Native C++工程1.2 分析AS创建和添加的文件2. 自己编写的so库三、使用CMake引入第三方so库1. 引入JNI规范的so2. 引入第三
Android studio准备Android studio需要下载Android6.0版本(Android SDK Platform 23),最小支持Android6.0 NDK 下载 cmake下载安装Android studio 代理配置dl.google.com可能会被屏蔽,首先查下其IP地址。查到IP地址后修改etc/hosts文件Android 市场份额Android 个版本市场份额
最近,在学习android ndk开发,配置环境的时候遇到了些问题,总算不负有心人……在这里记录哈过程,与筒子们分享哈……想学NDK的筒子们有福啦……教程本人亲测,非copy的……如有什么不明白的地方,可以留言大神也可以进来瞧瞧有什么不对的地方,请指教两招NDK是一个工具集,可让您实现您的应用程序使用本机代码的语言,如C和C + +。Android NDK 
# Android NDK Log 文件科普文章 Android NDK(Native Development Kit)是Android平台上的一个开发工具集,用于支持使用C、C++和其他本地语言编写的代码。在使用NDK开发Android应用程序时,我们通常会遇到需要记录日志的情况。本文将介绍如何使用Android NDK Log文件来记录和调试应用程序中的日志信息。 ## 什么是Androi
原创 2023-10-06 07:37:24
192阅读
此系列文章将记录我学习FFmpeg的过程。 首先我们要新建一个项目,然后按照《Android平台下的FFmpeg的学习之路------(二)环境搭建》,这篇文章的知识搭建好环境。 大概流程是:获取视频文件路径 -> 把视频文件路径传递到NDK层 -> NDK层通过FFmpeg打开视频文件 -> FFmpeg获取视频文件的信息 -> FFmpeg通过视频文件信息获得视频流 -
接上一篇NDK编译native程序(一),ANT使用的build.xml指定了使用ndk-build来构建native so。<exec executable="/opt/android-ndk-r15c/ndk-build" dir="${basedir}/main/jni" > <arg value="V=1" /> <arg value="APP_BUILD
转载 2023-07-26 21:02:23
14阅读
 工作中有遇到需要使用支持 http2 访问的 https 安全加密的开源库,便于使用 http2 与云端通信,经过调研发现 libcurl 可以满足需求,但是 libcurl 本身也是需要依赖于 nghttp2 来支持 http2 通信,以及需要 openssl 来实现安全加密的通信(访问带 https 的连接)。编译第三方开源库,主要的原理是在于通过设置环境变量,来指明编译
转载 2023-07-26 21:02:04
538阅读
背景最近有一个Linux下的C语言实现的文件操作库需要移植到Android上,而嵌入式的同事直接扔了一堆源码给到我,我一脸懵逼的同时也只能硬着头皮上了一般我们可以通过在项目中导入C/C++代码,使用AS中的cmake文件编译成so库,但是我这个库里的代码使用在ndk中的stdio库中的文件操作方法总是报错或者编译不通过,于是只能选择在Linux下直接使用ndk编译成so库了啰嗦的前言说完,开始一、
因为有需求需要编译libcurl库在android工程中使用,所以首先就需要自己编译一个libcurl.a或者libcurl.so了,因为它用的很广泛嘛;另外如果一个curl库要支持ssl,必须要在编译的时候和ssl组合编译,比如openssl;了解了这些以后,就可以进行编译工作了;环境:ubuntu12.04 64首先下载NDKandroid-ndk-r10c-linux-x86_64.bin
最近一直用android ndk来编译一些小的工具,找makefile中确定代码编译的编译开关,当时一直没有找到,后来分析了一下一般的makefile文件中的 include $(CLEAR_VARS)这条语句,其实是对应的android源码中的$(BUILD_SYSTEM)/clear_vars.mk这个makefile文件来源是在build/core/config.mk中有如下明确的定义:CL
原创 2013-12-04 10:31:46
1999阅读
# Android NDK加载Assets文件Android开发中,有时候我们需要加载Assets文件来获取资源。如果我们使用Android NDK来开发,也需要加载Assets文件的话,该如何操作呢?本文将介绍如何在Android NDK中加载Assets文件,并附带代码示例。 ## 为什么需要加载Assets文件Android应用中,Assets文件夹是用来存放应用程序的资源文件
原创 2024-02-21 07:59:14
264阅读
# Android NDK编译mk文件 ## 介绍 Android NDK(Native Development Kit)是一个工具集,允许开发者使用C和C++等本地编程语言来编写Android应用的部分或全部代码。在Android开发中,使用NDK可以提高性能、访问底层硬件和使用现有的C/C++库等。MK文件NDK编译系统的一部分,用于描述源文件的编译规则和依赖关系。本文将介绍如何使用ND
原创 2024-01-25 06:02:49
141阅读
Android NDK 简介及环境配置1. 背景2. 概念问答3.下载 NDK 和工具4. 配置NDK的环境变量5. 编译工具 1. 背景本来一直在做商城类的项目舒坦着,突然老板拿了一块Android的主板和芯片过来,说我们打算做一款自动售货机,从没做过这类项目的我,当时就一脸懵逼了,芯片、自动售货机,What?还好我依稀记得,这类项目是关于NDK、JNI的,于是,我便开始默默地研究这类资料,顺
转载 2023-10-03 19:55:23
117阅读
  • 1
  • 2
  • 3
  • 4
  • 5