Android NDK


1.下载安装Android NDK

  地址: https://dl.google.com/android/ndk/android-ndk-r10d-windows-x86_64.exe  

2.下载安装cygwin

     地址:https://cygwin.com/install.html   

       查看cygwin的安装是否成功:

       在弹出的命令行窗口输入:make –version

       打印出版本信息和一些描述信息,则cygwin安装成功!

3.配置 NDK 环境变量

  找到 cygwin 的安装目录,将F:\Cygwin\home\Administrator文件夹下的.bash_profile文件删除,

       再将F:\Cygwin    \etc\skel文件夹下的.bash_profile文件copy到F:\Cygwin\home\Administrator文件夹下;

       最后在.bash_profile文件中添加NDK路径 

       NDK=F:\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\ndk\android-ndk-r10d

  export NDK

       打开 cygwin ,输入 cd $NDK ,验证刚刚配置的NDK信息是否正确。

4.eclipse 版本为Google官方下载的集成ADT ( adt-bundle-windows-x86_64-20140702.zip)

  

5.添加C++代码 

       项目右键—>Android Tools—Add Native Support...点击Finish

       此时项目中会增加jni和obj两个文件夹

       jni中有xx.cpp 和Android.mk文件  需手动添加名称为Application.mk文件 

       并在文件中添加APP_ABI := all    APP_PLATFORM := android-14  (android:minSdkVersion="14")

      (不添加生成的.so库无法加载,不知道其他人的是怎么解决的,不添加APP_PLATFORM节点打包会抛出版本异常)

       xx.cpp文件中的方法需这样写:  extern "C" { 你的代码}

      例如:test.cpp

     

<span style="font-size:18px;"><span style="font-size:18px;">#include <jni.h>
#include <string.h>
#include <stdio.h>
extern "C" {
jstring//返回值类型
Java_com_sg_JNIT_toString(JNIEnv* env, jobject object, jstring source) {
//Java 首字母要大写  
//com.sg为项目包名  
//JNIT为加载本地.so库的java类 
//toString 方法名,JNIT中对应的方法名
//source   传参

     return source;
}
jstring Java_com_sg_JNIT_doString(JNIEnv* env, jobject object, jstring source) {

	return source;
}}</span></span>
       JNIT.java
<span style="font-size:18px;"><span style="font-size:18px;">public class JNIT {
	static {
		System.loadLibrary("test");//编译出来的.so包为libtest.so
	}

	public native String toString(String source);

	public native String doString(String source);

	public native String onlineIP();
	public native String codeIP();
	public native String testIP();
}</span></span>
     另外下载的NDK目录下有很多sample可供参考

6.用 Cygwin编译so库  

    运行 cygwin :

       输入命令 cd /cygdrive/项目根路径

  输入命令 $NDK/ndk-build 即可发现libs包下的.so库


另若eclipse里面集成的有NDK,点击这个小锤子也可生成.so库


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值