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. Dumb Bones UVA - 10529(概率dp)

    题意: 你试图把一些多米诺骨牌排成直线,然后推倒它们.但是如果你在放骨牌的时候不小心把刚放的骨牌碰倒了,它就会把相临的一串骨牌全都碰倒, 而你的工作也被部分的破坏了. 比如你已经把骨牌摆成了DD__D ...

  2. day11 内置函数

    特殊算数运算 计算整数的和 l = [1,2,3,4,5] print(sum(l)) 除法运算,然后取余 在做页面的时候可以根据数据量分页的时候使用 print(divmod(10,3)) # (3 ...

  3. java将一个javabean转化为另一个javabean

    公司的项目是用webservice来进行前后台对接,启动后台后需要刷服务才能在前台生成对应的代码,但是有一个很恶心的地方,它给每个service都生成了一个model,于是出现后台只有一个javabe ...

  4. if语句实例

    if 单分支#!/bin/bashRATE=`df -hT | grep "/boot" | awk '{print $6}' | cut -d "%" -f1 ...

  5. Linux监控--CPU、内存、I/O

    CPU top命令能够实时监控系统的运行状态,并且可以按照CPU.内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进行. 内存 free命令可以 ...

  6. A1044. Shopping in Mars

    Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diam ...

  7. A1095. Cars on Campus

    Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...

  8. java后端面试

    背景:最近在找工作,但是发现每次找的时候都需要整理一些基础知识,这些点又是面试过程中经常被问到的,每次都进行整理很麻烦,所以有打算好好总结下. 转载自:https://www.cnblogs.com/ ...

  9. windows & gcc & mingw & mysy 编译 openssl

    今天有一个项目需要使用到 https, 以前一直用的都是http请求, 用 socket() 实现 https 请求我还真是头一回遇到. 先网上搜索了一下相关资料,明白了 https 相比较 http ...

  10. 导入gradle项目

    1.1 代码下载 将代码下载到本机具体位置: 根据svn地址用外部svn工具导入项目到本地一个目录 比如 d:/a 1.2 导入工程 1.2.1 导入gradle工具 1.2.2 选择代码路径 1.2 ...