最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)

这是Android NDK 开发系列篇 之第四篇,重点讲述 在windows 平台下NDK开发环境搭建,以及第一个NDK工程搭建。

一、开发工具准备

1、PC机电脑一台,Windows 7 64位以上操作系统 ;

2、Android SDK开发工具包,eclipse;

3、Android NDK开发工具包;


二、NDK开发环境搭建

1、下载最新版本的Android   NDK安装包(下载地址在前面的博客中有说明),解压到指定目录即可。如下图所示解压到D:\  ,我这里使用两个版本的NDK10、11。实际只使用一个就可以

 


2、搭建Android APP开发环境,也就是 安装Android SDK-java,eclipse集成开发环境,一般读者能看到这篇博客,说明已经能够熟练运用eclipse新建Android APP。

3、到这里 Android NDK开发环境已经搭建好了,其实不需要太多工具。也就是一个NDK开发工具包,一个能够新建Android APP的eclipse集成开发环境。


三、第一个NDK工程

1、首先建立一个Android APP工程,工程,项目名字都可以随便命名,我们这里命名为AndroidHelloJNI,请用eclipse新建Android APP 工程、


2、从刚刚安装好的NDK开发工具目录中找到 samples -> hello-jni  例子。将jni目录拷贝到我们刚刚建好的工程目录下面。

3.关联jni 新建ndk-builder  让ndk-build 自动编译AndroidHelloJNI 工程下面的jni 目录

(a)Project->Properties->Builders->New,新建一个Builder。
(b)在弹出的【Choose configuration type】对话框,选择【Program】,点击【OK】:
(c)在弹出的【Edit Configuration】对话框中,配置选项卡【Main】。
在“Name“中输入新builders的名称(这个名字可以任意取)。

在“Location”中输入nkd-build.cmd的路径( 这个是下载完ndk8后解压后的路径,这个建议放在根目录下面,路径不能有空格和中文)。根据各自的ndk路径设置,也可以点击“Browser File System…”来选取这个路径。
在“Working Diretcoty”中输入TestNdk位置(也可以点击“Browse Workspace”来选取TestNdk目录)

   

 4. 参数配置

4.1 Main

①Name:NDK_Builder

②Location为ndk-build.cmd的路径,可以如图所示绝对路径,也可以以环境变量的形式,即 ${ANDROID_NDK}\ndk-build.cmd,其中ANDROID_NDK为配置的NDK路径

③Working Directory,为当前的工程下。

这里的${}的表达是使用了EC的环境变量,可以使用Variables...按钮找到一些3 EC的环境变量。 

对于Linux上的配置,和这里的配置一样,只是把Location的地址改为ndk-build即可(下图中的workspace Directory为工作空间下的工程目录本例中为${workspace_loc:/AndroidHelloJNI}

   

4.2 Refresh

   

4.3 Build Options

    

    

注:Linux环境下只需修改ndk-build.cmdndk-build即可


5、经过以上步骤设置,即完成自动ndk-自动编译JNI目录下面的C/C++程序。 设置project  -> clean 即可在lib目录下生成各个不同cpu类型下使用的.so库。如下图所示 



6、在上层java应用程序中完成调用使用,

需要两步,单独新建类HelloJni.java 代码如下

package com.example.androidhellojni;


public class HelloJni{
		
	
	public  native String stringFromJNI();

	
}

再在MainActivity.java 中静态调用类库,即可使用这个JNI接口

package com.example.androidhellojni;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
	
	private TextView test;
	private HelloJni helloJni;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
	    helloJni = new HelloJni();
	
	    test = (TextView)findViewById(R.id.text);
	    
		test.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				
				Toast.makeText(MainActivity.this, helloJni.stringFromJNI(), 3000).show();;
			}
		});
		
	}
			
static {
		
		System.loadLibrary("hello-jni");
	}
	
	
}

7、运行 看到效果如下: 



8、欢迎就Android JNI NDK开发问题进行交流

我已经将测试demo 传到git上 请自行下载。

https://github.com/Guofengpu/AndroidHelloJNI

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值