hello world (android studio DNK )
2016-07-04 12:21
555 查看
开发环境 android studio
目标:开发一个ndk的hello world
1、环境准备:
下载android ndk并解压
2、创建android项目 NDKTest01
新建java类JNIUnit
增加方法
Clear Project
Rebuild Project
3、生成头文件
cd app/build/intermediates/classes/debug/
javah -jni com.nndou.yy.ndktest01.JNIUnit
生成文件 com_nndou_yy_ndktest02_JNIUnit.h
在src下创建文件夹 jni
拷贝 com_nndou_yy_ndktest02_JNIUnit.h 文件到jin目录下
4、增加 test.c文件,内容为:
5、配置文件修改
在 file ->project structure 中增加 ndk的路径
或者在local.properties 中增加ndk路径
在 gradle.preperties 中增加
修改build.gradle
在 defaultConfig 节增加如下配置
6、在JNIUtile类中增加so引用
重新编译项目,如果没有问题,就可以在代码中调用 JNIUtile.getStringFromC()方法。
目标:开发一个ndk的hello world
1、环境准备:
下载android ndk并解压
2、创建android项目 NDKTest01
新建java类JNIUnit
增加方法
public class JNIUnit { public static native String getStringFormC(); }
Clear Project
Rebuild Project
3、生成头文件
cd app/build/intermediates/classes/debug/
javah -jni com.nndou.yy.ndktest01.JNIUnit
生成文件 com_nndou_yy_ndktest02_JNIUnit.h
在src下创建文件夹 jni
拷贝 com_nndou_yy_ndktest02_JNIUnit.h 文件到jin目录下
4、增加 test.c文件,内容为:
#include "com_nndou_yy_ndktest02_JNIUnit.h" JNIEXPORT jstring JNICALL Java_com_nndou_yy_ndktest01_JNIUnit_getStringFormC(JNIEnv *env, jobject obj) { return (*env)->NewStringUTF(env,"这里是来自c的string"); }
5、配置文件修改
在 file ->project structure 中增加 ndk的路径
或者在local.properties 中增加ndk路径
在 gradle.preperties 中增加
android.useDeprecatedNdk=true
修改build.gradle
在 defaultConfig 节增加如下配置
ndk {
moduleName "NdkJniDemo" //生成的so名字 abiFilters "armeabi", "armeabi-v7a", "x86" }
6、在JNIUtile类中增加so引用
static { System.loadLibrary("NdkJniDemo"); }
重新编译项目,如果没有问题,就可以在代码中调用 JNIUtile.getStringFromC()方法。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories