android studio NDK 开发初探

android studio NDK 开发初探

  1. 环境配置
    1)下载ndk
    2)在android studio中配置ndk 路径
    这里写图片描述
    3)配置gradle
    在gradle.properties中加入 android.useDeprecatedNdk=true配置 开启ndk
    在开发过程中我们有时还会用到c++中到stl库这时我们就需要在build.gradle 中加入
    defaultConfig {
    ndk {
    moduleName “jnitest”
    stl “stlport_static”
    abiFilters “armeabi”, “armeabi-v7a”, “x86”
    }
    }
    因为android studio 中Android.mk文件不可配置。而是根据gradle中的配置自动生成的Android.mk文件
  2. 新建工程
    在工程目录main下单击鼠标右键新建一个jni folder ,之后使用到c/c++程序代码都放在这个文件夹中
    在main文件夹下的 java文件夹下新建一个类例如:JniUtils
    并加入代码 public static native String getStringFromJNI();
    然后make module一下,目的就是编译成对应的class文件。然后根据生成的class文件,利用javah生成对应的 .h头文件。
    点开android studio 的Terminal标签页,默认进入到该项目的app文件夹下。如果在该目录下输入cd src/main 切换到main目录下。
    javah -d jni com.vvgool.jni.JniUtils(-d即使没有手动生成jni目录到情况下使用-d也会生成jni目录并在目录中生成)
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_vvgool_jnitest_JniUtils */

#ifndef _Included_com_vvgool_jnitest_JniUtils
#define _Included_com_vvgool_jnitest_JniUtils
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_vvgool_jnitest_JniUtils
 * Method:    getStringFromJni
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_vvgool_jnitest_JniUtils_getStringFromJni
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif

然后我们就可以在jni文件中新建.cpp文件或者.c文件我这里是新建到test.cpp文件

最后在JniUtils中加入
static{
System.loadLIbrary(“jnitest”);
}在Activity中调用JniUtils.getStringFromJni()方法获取字符串就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值