[NDK/JNI系列03] Android Studio集成NDK开发环境

简介: [NDK/JNI系列03] Android Studio集成NDK开发环境

现在Android studio开发JNI 已经非常简单了, 不需要这怎么配置,直接新建native c++项目,等个十来分钟,就会把依赖环境自动下载完成 直接run就可以了。


Android Studio的NDK支持

  • Android Studio是Google官方推荐的Android开发工具,它不仅支持Java和Kotlin等高级语言,也支持C和C++等原生语言。Android Studio提供了一系列的功能和工具,可以让Android Studio中方便地开发、构建、调试和测试原生代码。这些功能和工具包括:
  • NDK:这是一套工具,可以让Android应用中使用C和C++代码,并提供了一些平台库,可以让访问原生活动和设备组件,例如传感器和触摸输入。
  • CMake:这是一款外部构建工具,可以与Gradle搭配使用来构建原生库。如果只计划使用ndk-build,则不需要这个组件。
  • LLDB:这是Android Studio用于调试原生代码的调试器。它可以让Android Studio中设置断点、单步执行、检查变量等。
  • Gradle:这是Android Studio的集成构建系统,可以自动编译和打包原生代码,并将原生库(SO文件)打包到APK中。
  • JNI:这是一套标准接口,可以让Java代码和原生代码进行交互。JNI定义了一套规范,包括数据类型、函数签名、命名规则等,以保证不同语言之间的兼容性和可移植性。

下载NDK和工具

  • 应用编译和调试原生代码,需要以下组件:
  • Android 原生开发套件 (NDK):这套工具使能在 Android 应用中使用 C 和 C++ 代码。
  • CMake:一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果只计划使用 ndk-build,则不需要此组件。
  • LLDB:Android Studio 用于调试原生代码的调试程序。

创建或导入原生项目

  • Android Studio设置完成后,可以直接创建支持 C/C++ 的新项目。但如果要向现有 Android Studio 项目添加或导入原生代码,则需要按以下基本流程操作:
  • 创建新的原生源代码文件,并将其添加到 Android Studio 项目中。如果已经拥有原生代码或想要导入预构建原生库,则可跳过此步骤。
  • 创建 CMake 构建脚本,指示 CMake 如何将原生源文件构建入库。如果导入和关联预构建库或平台库,也需要此构建脚本。如果现有的原生库已有 CMakeLists.txt 构建脚本,或使用 ndk-build 并包含 Android.mk 构建脚本,则可跳过此步骤。
  • 提供一个指向 CMake 或 ndk-build 脚本文件的路径,将 Gradle 关联到原生库。Gradle 使用构建脚本将源代码导入的 Android Studio 项目并将原生库(SO 文件)打包到 APK 中。
  • 通过点击 Run 图标构建并运行应用。Gradle 会以依赖项的形式添加 CMake 或 ndk-build 进程,用于编译和构建原生库并将其随 APK 一起打包。应用在实体设备或模拟器上运行后,可以使用 Android Studio 调试应用。


相关文章
|
SQL 人工智能 Dart
Android Studio的插件生态非常丰富
Android Studio的插件生态非常丰富
1156 1
|
Ubuntu Linux Android开发
Android Studio支持多种操作系统
Android Studio支持多种操作系统
938 1
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
3306 160
|
Java 开发工具 Android开发
Android与iOS开发环境搭建全解析####
本文深入探讨了Android与iOS两大移动操作系统的开发环境搭建流程,旨在为初学者及有一定基础的开发者提供详尽指南。我们将从开发工具的选择、环境配置到第一个简单应用的创建,一步步引导读者步入移动应用开发的殿堂。无论你是Android Studio的新手还是Xcode的探索者,本文都将为你扫清开发道路上的障碍,助你快速上手并享受跨平台移动开发的乐趣。 ####
|
Android开发 Windows
Android studio 报错Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused: connect(已解决)
这是一篇关于解决Android Studio报错“Connect to 127.0.0.1:8888 failed: Connection refused”的文章。问题通常因系统代理设置被Android Studio自动保存导致。解决方法是找到系统中Android Studio使用的gradle.properties文件(位于Windows的C:\Users\你的电脑用户名\.gradle或Mac的/Users/.{你的用户目录}/.gradle),删除或注释掉多余的代理配置后保存并重新Sync项目。希望此经验能帮助快速解决同类问题!
3139 36
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
670 11
|
Java Android开发
Android studio中build.gradle文件简单介绍
本文解析了Android项目中build.gradle文件的作用,包括jcenter仓库配置、模块类型定义、包名设置及依赖管理,涵盖本地、库和远程依赖的区别。
1248 19
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
753 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
IDE 开发工具
TeaScript IDE集成开发环境
TeaScriptIDE 是一款功能丰富的集成开发环境,包含代码编辑器(语法着色提升可读性)、调试器(显示运行结果)、内置函数帮助文档、打包功能(生成单个可执行文件)以及保存/恢复最近文件的功能。其界面由菜单栏、工具栏、多标签页编辑窗口、控制台输出窗口和状态栏组成,支持快速命令调用、程序运行结果显示及错误信息提示。退出时会自动保存状态,下次启动可继续编辑上次打开的文件。
406 15
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
719 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex

热门文章

最新文章