700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android studio使用ndk jni随记

android studio使用ndk jni随记

时间:2023-08-16 03:35:50

相关推荐

android studio使用ndk jni随记

1.下载ndk(会下载到sdk目录下)

2.配置

3.配置build.gradle(app)

android {defaultConfig {ndk {moduleName "JniDemo" //生成so名称abiFilters "armeabi","armeabi-v7a","x86" //输出指定三种abi体系结构下的so库,可忽略//ldLibs "log" 添加log库,看自己需求 }}//这里设置目录,默认就这样写就可以了 sourceSets {main {jni.srcDir "src/main/jni"jniLibs.srcDir "src/main/libs"}}}

gradle.properties添加

android.useDeprecatedNdk = true

loca.properties查看ndk目录是否正确

4.创建包含native方法的类

5.生成.h头文件

(1),使用命令行生成.h。参考Ubuntu下NDK编译环境搭建及在Android Studio中集成NDK

cd app/build/intermediates/classes/debugjavah -jni com.demo.JniUtils

创建jni目录,将.h拷贝到jni并创建.c文件

(2),配置常用命令生成,参考如何优雅使用ndk

6.调用运行

其他参考内容:使用 AndroidStudio 进行 NDK 开发(一)

头文件分析,截图参考这里

#########################################################################以上为配置

1,C中打印log

(1),Android.mk中LOCAL_LDLIBS需要有-llog

(2),gradle中配置

(3),C/C++

#include <android/log.h>#define LOG_TAG "MYJNI"#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)

jint Java_com_jieth_myjnidemo_MyJniUtils_sum(JNIEnv *env,jclass type, jint a,jint b){LOGE("this is log info string....");LOGE("this is log info string.... and str is %s", "测试");jint c = a+b;return c;}

新的,用studio创建官方demo,创建项目的时候勾选上。就会自动创建一个含有jni demo效果的项目

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。