环境配置
mac os x 10.11.4
Android Studio 2.2
jdk 1.8
android-ndk-r11c
1. 新建项目

2. 新建 Android Library Module

3. 新建 JNI 文件夹

4. 可选, 编写脚本自动生成头文件
#!/bin/sh
export ProjectPath=$(cd "../../../$(dirname "$1")"; pwd)
export TargetClassName=com.example.hellojni.JNIUtil
export SourceFile="${ProjectPath}/src/main/java"
export TargetFilePath="${ProjectPath}/src/main/jni"
cd "${SourceFile}"
javah -d ${TargetFilePath} -classpath "${SourceFile}" "${TargetClassName}"
5 执行脚本生成头文件

6 编写头文件函数

6 工程配置
// local.properties
ndk.dir=/Users/gaopeirong/Documents/Android/ndk/android-ndk-r11c
// gradle.properties
android.useDeprecatedNdk=true
// build.gradle (Module.hellojni)
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
// library 名称
moduleName "JniDemo"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
7 添加主工程依赖


8 使用

网友评论