配置完Android NDK工具后

1.新建一个Android项目,java文件下包含native方法

package com.dnfchan.ndktest;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class NDKTest2Activity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //setContentView(R.layout.main);        TextView view=new TextView(this);        int a=add(5,9);        view.setText(""+a);        setContentView(view);    }    public native int add(int x,int y); //本地方法1    public native int del(); //本地方法2,未调用 static{    System.loadLibrary("test-jni");//加载库,库名省略的前缀lib和后缀.so,实际库名是libtest-jni.so    }}

2.在工程目录下新建一个jni的目录,并在工程目录运行头文件生成命令javah -classpath bin -d jni com.dnfchan.ndktest.NDKTest2Activity.运行完后将在jni文件夹生成.h头文件

/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_dnfchan_ndktest_NDKTest2Activity */#ifndef _Included_com_dnfchan_ndktest_NDKTest2Activity#define _Included_com_dnfchan_ndktest_NDKTest2Activity#ifdef __cplusplusextern "C" {#endif/* * Class:     com_dnfchan_ndktest_NDKTest2Activity * Method:    add * Signature: (II)I */JNIEXPORT jint JNICALL Java_com_dnfchan_ndktest_NDKTest2Activity_add  (JNIEnv *, jobject, jint, jint);/* * Class:     com_dnfchan_ndktest_NDKTest2Activity * Method:    del * Signature: ()I */JNIEXPORT jint JNICALL Java_com_dnfchan_ndktest_NDKTest2Activity_del  (JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif

3.在jni文件夹下新建test-jni.c文件,并根据头文件写里面的方法。可以将.h的方法copy下来,并添上参数名即可

#include <jni.h> //对应java文件的add()方法JNIEXPORT jint JNICALL Java_com_dnfchan_ndktest_NDKTest2Activity_add   (JNIEnv* env, jobject thiz, jint x, jint y){  return x+y;  } 

4.为了将以上文件编译成库文件,还必须在jni目录下新建Android.mk文件

LOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:=test-jniLOCAL_SRC_FILES:=test-jni.cinclude $(BUILD_SHARED_LIBRARY)

第一行表示源文件路径,my-dir表示返回当前路径

第二行是指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量

第三行编译后的模块名

第四行编译的源码文件

第五行编译成共享库

5.利用ndk-build生成库,在工程根目录下运行ndk-build,出现下面信息是表示生成成功。

Compile thumb  : test-jni <= test-jni.cSharedLibrary  : libtest-jni.soInstall        : libtest-jni.so => libs/armeabi/libtest-jni.so

6.库生成好后,回到eclipse刷新工程,运行即可。

Android ndk 开发步骤总结_第1张图片

更多相关文章

  1. Android判断有无外置SD卡(TF卡),并读写文件
  2. 【Android】方法数查看工具---DexCount
  3. java拷贝文件夹和android设置文件权限
  4. android studio 将文件打包成jar文件
  5. Android之下获取屏幕分辨率的方法
  6. java|android加载src路径下面的图片文件
  7. 卸载android system/app 目录下文件的应用程序
  8. 将Android项目打包成APK文件

随机推荐

  1. 用惰性加载优化 React 程序[每日前端夜话
  2. 聊聊我的 Java 自学之路
  3. 用JavaScript实现插入排序[每日前端夜话0
  4. Facebook的DevOps案例研究与相关工具[每
  5. Linux基础-14day-Linux系统服务管理
  6. Chrome 74 带来的新功能[每日前端夜话0x6
  7. 杀手级的TypeScript功能:const断言[每日前
  8. 13个帮你提高开发效率的现代CSS框架[每日
  9. Android的联通性---USB的主机模式和从属
  10. 30分钟用Node.js构建一个API服务器[每日