此贴记录一下Android Studio 进行jni开发的基础配置以及入门教程,想当初使用eclipse配置ndk环境都难,现在基本都向AS转型,特此给需要帮助的新手村的同学们少走弯路
一、环境配置
主要需要配置的就是NDK(Native Development Kit),现在Android studio很便利,可以一键下载: file → setting → 按截图找到如下路径 → 选择NDK → 确定应用下载
二、jni hello world!
1. 新建一个项目
2.设置支持jni
android.useDeprecatedNdk=true
打开local.properties,添加:
ndk.dir=NDK的路径
最后打开app内build.gradle,在android/defaultConfig下面添加ndk配置
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.lilei.testjni"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
moduleName "JNISample"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
testCompile 'junit:junit:4.12'
}
3.新建java访问c层的接口类
package com.lilei.testjni;
/**
* Created by lilei on 2017/3/29.
*/
public class JniUtils {
public static native String getJniString();
}
4.生成头文件
cd app/build/intermediates/classes/debug/
javah com.lilei.testjni.JniUtils
5.创建jni开发的文件夹
点击app文件夹,New → Folder → JNI Folder, 选择在main文件夹下即可,生成成功后main目录下会出现一个jni的文件夹
找到刚才生成到头文件,复制到jni文件夹下(记得关闭刚才使用的终端,否则无法复制)
头文件有了,现在在jni目录下创建一个C 文件用于开发使用,命名与头文件相同
编写C 文件中定义函数的代码
#include "com_lilei_testjni_JniUtils.h"
JNIEXPORT jstring JNICALL Java_com_lilei_testjni_JniUtils_getJniString
(JNIEnv *env, jclass) {
// new 一个字符串,返回Hello World
return env -
|