【Android】Android Studio NDK 开发
程序员文章站
2022-04-15 09:13:54
Android Studio NDK 开发 记录在Android Studio中NDK简单开发的步骤 用到的Android Studio版本为3.5。 配置NDK 下载NDK 一般在SDK下已经有自带的ndk文件夹,如sdk目录下的ndk bundle文件夹。 如果没有,可以在SDK Manager ......
android studio ndk 开发
记录在android studio中ndk简单开发的步骤
用到的android studio版本为3.5。
配置ndk
下载ndk
一般在sdk下已经有自带的ndk文件夹,如sdk目录下的ndk-bundle文件夹。
如果没有,可以在sdk manager中下载
下载lldb、ndk两项
下载完成后,可以在sdk目录下看到ndk的文件夹
配置环境变量
我的电脑-属性-高级系统设置-环境变量
新建一个android_ndk变量,配置上ndk文件夹的位置(在这个文件夹下可以看ndk-build.cmd等文件)
然后将这个变量加入到path变量中
生成so库
新建一个hello.java文件,里面增加一个本地方法
public static native string hi();
执行build-make project,在app\build\intermediates\javac\debug\classes目录下执行以下cmd命令生成头文件:
javah -jni com.wangyz.ndk.hello
在该目录下,可以看到生成的com_wangyz_ndk_hello.h文件。
在app/src/main/目录下新建jni目录,将生成的头文件复制到jni目录下。
在jni目录下新建com_wangyz_ndk_hello.c文件,编写c语言实现代码:
#include "com_wangyz_ndk_hello.h" jniexport jstring jnicall java_com_wangyz_ndk_hello_hi (jnienv *env, jclass clazz){ return (*env)->newstringutf(env,"hello"); }
在jni目录下新建android.mk文件,内容如下:
local_path := $(call my-dir) include $(clear_vars) local_module := hello local_src_files := com_wangyz_ndk_hello.c include $(build_shared_library)
在jni目录下新建application.mk文件,内容如下:
app_abi := all
在该目录下执行cmd命令:
ndk-build
执行后生成所需的so文件。
引用so库
在app/src/main目录下新建目录jnilibs,将对应的so复制到该目录下:
在activity中引入:
static { system.loadlibrary("hello"); }
使用so库中的方法
string hi = hello.hi(); toast.maketext(getapplicationcontext(), hi, toast.length_short).show();
android studio中ndk的简单开发到此结束。
推荐阅读
-
Android Studio设置背景色的方法
-
android studio教程及android环境搭建
-
Android NDK开发之旅–NDK-FFmpeg音频解码与播放
-
Android Studio import Project 的正确姿势
-
Android studio怎么设置代码横向选择和竖向选择?
-
[build.gradle配置系列(一)]android studio根据版本号动态生成apk名
-
android开发中的文件路径详情
-
组长问我几天能开发一个人见人爱的百万量级Android相机,我是这样回答的...
-
Android开发ImageView图片无法显示解决过程
-
Android NDK中socket的用法以及注意事项分析