1.首先需要声明native方法:

public native String helloWorldNdk();
public native String hello_World_Ndk();

2.然后运用javah生成对应的.h头文件

3.根据.h头文件,编写hello.c代码

4.编写Android.mk文件

#交叉编译编译c/c++代码所依赖的配置文件  

#获取当前Android.mk的路径
LOCAL_PATH := $(call my-dir) #变量初始化操作
include $(CLEAR_VARS) #libhello.so 其实生成的libhello.so就是在我们这个模块的名称前面加上lib后边加上.so
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c include $(BUILD_SHARED_LIBRARY)

5.在java中通过静态块引入二进制文件:

static{
System.loadLibrary("hello");
}

http://blog.csdn.net/mockingbirds/article/details/45132551

http://blog.csdn.net/u011913612/article/details/52583523

Android NDK编程的更多相关文章

  1. 三、Android NDK编程预备之Java jni入门创建C/C++共享库

    转自: http://www.eoeandroid.com/thread-264971-1-1.html 应网友回复,答应在两天前要出一篇创建C/C++共享库的,但由于清明节假期,跟朋友出去游玩,丢手 ...

  2. 二、Android NDK编程预备之Java jni入门Hello World

    转自:  http://www.eoeandroid.com/forum.php?mod=viewthread&tid=264543&fromuid=588695 昨天已经简要介绍了J ...

  3. 一、Android NDK编程预备之Java jni简介

    转自:  http://www.eoeandroid.com/thread-264384-1-1.html 游戏开发 视频教程 博客 淘帖     论坛›eoe·Android应用开发区›Androi ...

  4. Android NDK编程,引入第三方.so库

    android自带的编译工具NDK进行编译时(非单纯的调用第三方.so而是进行ndk编程),armeabi以及armeabi-v7a文件夹下的第三方so文件将会被删除,只会产生编译后的so文件,其他的 ...

  5. (转)Android: NDK编程入门笔记

    转自: http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html 为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代 ...

  6. Android NDK编程浅入深出之--Android.mk

        Android.mk Android.mk是一个向Android NDK构建系统描写叙述NDK项目的GUN Makefile片段.它是每个NDK项目的必备组件. 构建系统希望它出如今jni子文 ...

  7. android NDK编程:使用posix多线程与mutex相互排斥同步

    MainActivity.java 调用原生方法 posixThreads(int threads, int iterations) 启动线程 package com.apress.threads; ...

  8. Android NDK学习总结

    一.android NDK编程步骤 java文件中声明native方法. android工程根目录新建jni文件夹. 调用javah命令为第一步声明的native方法生成相应的.h头文件. 通过win ...

  9. Android NDK工程的编译和链接以及使用gdb进行调试

    前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载A ...

随机推荐

  1. MT【69】斯图姆定理

    评:如果说零点存在定理是"只在此山中,云深不知处"的意境.那么斯图姆定理就能处理多项式的零点个数以及定位.

  2. Android 第三课 构建简单的用户界面

    构建简单的用户界面 上一课下一课 该课程教你 创建线性布局 添加文本框 添加字符串资源 添加按钮 使输入框宽度充满整个屏幕 你也应该阅读 布局 Android的图形用户界面通过 View 和 View ...

  3. 对 static const char* const str[] = {“string”} 的理解

    static const char* const str[] = {“string”} 静态常量型指针变量 static const char* 常量型变量 const str[] 这样修饰的作用为 ...

  4. android 之 Hnadler 、Message 、Looper

    Handler定义: 主要接受子线程发送来的数据,并用此数据配合主线程更新UI. 为什么要用Handler? 我们手机当中的很多功能或操作是不能都放在Activity当中的,比如下载文件.处理大量数据 ...

  5. Linux 常用命令——which, whereis, locate, find

    转载请注明出处:http://blog.csdn.net/drecik__/article/details/8455399 1. which 查找使用命令所在的位置 2. whereis 搜索文件,跟 ...

  6. Hadoop、Hbase基本命令及调优方式

    HDFS基本命令 接触大数据挺长时间了,项目刚刚上完线,趁着空闲时间整理下大数据hadoop.Hbase等常用命令以及各自的优化方式,当做是一个学习笔记吧. HDFS命令基本格式:Hadoop  fs ...

  7. JS循环语句!

    <1> for(1.初始值(初始值只有一次):2.判断条件:4.状态改变){ 3.执行语句: //如果判断条件为true,则进入死循环:不设执行语句浏览器会未响应: } <2> ...

  8. 【POJ3090】Visible Lattice Points

    题目大意:求 \[\sum\limits_{i=2}^n\phi(i)\] 题解:利用与埃筛类似的操作,可在 \(O(nlogn)\) 时间求出结果. 代码如下 #include <cstdio ...

  9. 【POJ1151】Atlantis

    题目大意:给定 N 个矩形,求这些矩形的面积并. 题解:采用扫描线算法. 首先,按照矩形的横坐标排序,在纵坐标方向上维护一根扫描线被覆盖的长度,在这里采用线段树维护.统计答案时,从左到右扫描 2N 个 ...

  10. quartz简单定时任务【可以处理完一个任务才开启下一个线程】【我】

    maven jar project项目一个 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...