topjs / NDKdemo

Android studio中NDK的开发例子

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NDKdemo

Android studio中NDK的开发例子

1、开发环境

● Android Studio 2.0.0 ● android-ndk-r10e ● gradle 2.10

##2、然后我们打开gradle.properties文件, 在文件的尾端写一句, 如果没有写这一句会编译不通过 android.useDeprecatedNdk=true

##3.在defaultConfig配置

ndk{ moduleName "ndk-test" //要引用module的名字 ldLibs "log" //引用库的名字(选填) abiFilters "armeabi" //配置需要编译出那些版本的so库(如果不写,就编译出所有版本的so库) } ##4.创建一个Test类 public class NDKTest{ public static natvie int add(int i,int j); static{ System.loadLibrary("ndk-test"); } }

##5 生成Java_com_lidong_demo_ndkdemo_NdkTest_add.h文件 命令行:javah -d ... 生成文件 /* DO NOT EDIT THIS FILE - it is machine generated / #include <jni.h> / Header for class com_lidong_demo_ndkdemo_NdkTest */

#ifndef _Included_com_lidong_demo_ndkdemo_NdkTest #define _Included_com_lidong_demo_ndkdemo_NdkTest #ifdef __cplusplus extern "C" { #endif /*

  • Class: com_lidong_demo_ndkdemo_NdkTest
  • Method: add
  • Signature: (II)Ljava/lang/String; */ JNIEXPORT jint JNICALL Java_com_lidong_demo_ndkdemo_NdkTest_add (JNIEnv *, jclass, jint, jint); #ifdef __cplusplus } #endif #endif

##6实现Java_com_lidong_demo_ndkdemo_NdkTest_add.文件

// // Created by dong on 2016/4/3. //

#include<com_lidong_demo_ndkdemo_NdkTest.h>

JNIEXPORT jint JNICALL Java_com_lidong_demo_ndkdemo_NdkTest_add (JNIEnv *evn, jclass cla, jint i, jint j){ return i+j; } ##7.最后在调用。 text.setText("计算1+2的结果"+NdkTest.add(1,2)+"");;

##8效果效果

About

Android studio中NDK的开发例子


Languages

Language:Java 79.6%Language:C 20.4%