android studio NDK 开发初探
2016-05-08 22:13
645 查看
android studio NDK 开发初探
环境配置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文件
新建工程
在工程目录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()方法获取字符串就可以了。
相关文章推荐
- android Fragment java.lang.IllegalStateException:The specified child already has a parent.
- Android基础知识:Activity生命周期和Intent用法
- 【Android】系统音量及屏幕亮度调节
- Android中使用Gesture加入手势操作
- Android中Java和JavaScript交互
- Android中的多点触摸
- Android中的adapter
- android 之popupWindow 在指定位置上的显示
- 20145205《Java程序设计》第四次实验:Android环境搭建
- android bt使用
- android中对服务端的长连接【socket】
- AnyChat音视频通信实现
- 深入理解Android之Gradle
- Android Context
- Android项目中的各个模块框架设计
- Android图片缓存
- android hal
- Android蓝牙开发简介
- Android数据存储五种方式总结
- android studio好卡换电脑(as2.1卡爆)