最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)
来源:互联网 发布:学编程要下载什么软件 编辑:程序博客网 时间:2024/06/07 20:31
这是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的名称(这个名字可以任意取)。
在“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.cmd为ndk-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;@Overrideprotected 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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, helloJni.stringFromJNI(), 3000).show();;}});}static {System.loadLibrary("hello-jni");}}
7、运行 看到效果如下:
8、欢迎就Android JNI NDK开发问题进行交流
我已经将测试demo 传到git上 请自行下载。
https://github.com/Guofengpu/AndroidHelloJNI
- 最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)
- Android NDK 环境搭建以及第一个Demo
- NDK开发环境搭建以及第一个ndk应用
- 在eclipse中android NDK开发环境的搭建
- 在eclipse中android NDK开发环境的搭建
- Android NDK入门2015(环境搭建及第一个小demo)
- NDK开发之——eclipse配置以及第一个NDK程序
- ExtJS实战(1)——eclipse搭建ExtJS4开发环境以及第一个程序Helloword
- Android NDK环境搭建(eclipse)
- 【ndk】android ndk开发环境搭建(windows)
- NDK开发(一):Android NDK环境搭建
- Android使用Eclipse搭建NDK开发环境
- Android Eclipse NDK开发环境搭建
- Eclipse下Android NDK开发环境搭建
- sdk+ndk+eclipse搭建android开发环境
- android NDK开发环境搭建(新)
- Android NDK开发环境搭建(链接)
- Android NDK开发(一)环境搭建
- Unity渲染路径 Rendering Paths_3_Vertex Lit 顶点光照
- 分布式一致性协议Raft原理与实例
- leecode_220 Contains Duplicate III
- [leetcode] 263. Ugly Number
- Android 中的蓝牙模块
- 最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)
- Linux 安装Nginx详细图解教程
- Dashgo D1概述
- sloth(标点工具)使用说明
- WPF <ZoomableCanvas> 实现缩放移动
- redis集群
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
- 千变万化的viewpager
- MYSQL 与 Oracle 之间的数据类型转换