Android NDK编程
2016-03-29 16:59
471 查看
Android Studio 下 NDK 编程
参考:http://www.jianshu.com/p/e689d0196a17第一步:
配置 NDK 路径
File->Project Structure->SDK Locationl 里面添加路径
Android NDK location should not contain whitespace, as this can cause problems with the NDK tools.
Android NDK 的位置不应包含空格,因为这可能会导致与 NDK 工具问题。
第二步:
gradle.properties 配置
android.useDeprecatedNdk=true
第三步:
工程内的 build.gradle 添加 ndk 配置
defaultConfig { applicationId "test.com.asproject" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" ndk { moduleName "JniTest" ldLibs "log", "z", "m" abiFilters "armeabi", "armeabi-v7a", "x86" } }
第四步:
新建一个JNI调用类
package com.test.jni; public class JNIUse { static { System.loadLibrary("JniTest");//与第三步的NDK模块命名要一致 } public static native String getStringFromNative(); }
第五步:
main目录下新建一个名为JNI的文件夹(这一步如果没有,不能自动生成.c)
getStringFromNative()会提示
Create function Java_com_test_jni_JNIUse_getStringFromNative
根据系统提示自动创建生成 JniTest.c
#include <jni.h> JNIEXPORT jstring JNICALL Java_com_test_jni_JNIUse_getStringFromNative(JNIEnv *env, jclass type) { //TODO return (*env)->NewStringUTF(env, "Seselin Test JNI"); }
第六步:
Rebuild project
build/intermediates目录下会生成ndk文件夹,里面包含.so
第七步:
在主工程里调用你的NDK方法
附录:
以上为自己新建 .so 的过程
调用已有 .so 时只要把.so 放在 lib 文件下(具体步骤见: Android下的.so库使用)
同时在工程的 build.gradle 内
android { 。。。 sourceSets { main { 。。。 jniLibs.srcDirs = ['libs'] } 。。。 }
相关文章推荐
- 如何向android的setting语言列表中添加一门语言
- Android 无线adb调试之所得!
- android graphic(16)—fence(简化)
- Android Studio : 导入第三方包
- Android开发,关于php服务器文件传输过程出现的问题:中文名文件名在url中的转换
- Android SlidingMenu菜单栏程序设计开发
- Android MediaPlayer 框架UML图
- Android SDK Manager 更新代理配置
- Android 命令生成签名keystore、ant编译打包流程
- EditText焦点问题
- 让你的Android项目更加整洁与清晰
- androidstudio使用问题---AidlTokenType
- Android高效ImageLoader的实现
- Widget
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android中的跨进程通信的实现(一)——远程调用过程和aidl
- android IBinder 解析
- Android 最火的快速开发框架XUtils
- Android跳转系统界面_大全集
- Android Volley框架使用详解