用Android Studio进行NDK开发(简化流程)

开发环境
Android Studio 1.3 RC3
android-ndk-r10e

转载请注明出处 : http://blog.csdn.net/hpu_zyh/article/details/48184581
博客主页 | 简书 | 知乎 | 微博 | github

1. 准备NDK环境

我这里下载的是android-ndk-r10e
进入Android studio 的 Project Structure->SDK location -> Android NDK location, 设置android-ndk-r10e的路径, 配置好即可进行开发了(就是这么简单)
用Android Studio进行NDK开发(简化流程)_第1张图片

2. NDK开发

创建工程,配置NDK

在Android studio中创建一个新的Android项目, 修改项目下的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc2"

    defaultConfig {
        applicationId "hanks.com.hkjni"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"

        ndk{
            moduleName "hkjni"   //生成的so名字
            abiFilters "armeabi", "armeabi-v7a", "x86"  //输出指定三种abi体系结构下的so库。
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
}

编写 MainActivity
用Android Studio进行NDK开发(简化流程)_第2张图片

src\main目录下创建 jni目录
创建需要调用的 c语言文件

#include "jni.h"

JNIEXPORT jstring JNICALL Java_hanks_com_hkjni_MainActivity_getHello (JNIEnv * env , jobject obj){
    char * str = "from hkcode";
    return (*env)->NewStringUTF(env,str);
    //如果不知道这个方法名怎么写可以通过 javah 生成
}

用Android Studio进行NDK开发(简化流程)_第3张图片

用Android Studio进行NDK开发(简化流程)_第4张图片

下面就可以直接运行了!!!(感觉比以前轻松好多啊)

如果不知道这个方法名怎么写可以通过 javah命令 生成,然后复制即可, 知道命名规则的话直接编写 .c 文件也可以

用Android Studio进行NDK开发(简化流程)_第5张图片

以前用Eclipse还有编辑 Android.mk文件,现在Android studio 自动生成了

用Android Studio进行NDK开发(简化流程)_第6张图片

你可能感兴趣的:(c,android,android,jni,NDK,Studio)