开发环境
Android Studio 1.3 RC3
android-ndk-r10e
转载请注明出处 : https://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的路径, 配置好即可进行开发了(就是这么简单)
###2. NDK开发
####创建工程,配置NDK
在Android studio中创建一个新的Android项目, 修改项目下的build.gradle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| 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
在src\main
目录下创建 jni
目录
创建需要调用的 c语言
文件
1 2 3 4 5 6 7
| #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 生成 }
|
下面就可以直接运行了!!!(感觉比以前轻松好多啊)
如果不知道这个方法名怎么写可以通过 javah命令 生成,然后复制即可, 知道命名规则的话直接编写 .c 文件也可以
以前用Eclipse还有编辑 Android.mk
文件,现在Android studio 自动生成了