使用NDK进行开发android

在eclips中配置NDK路径
在eclipse中点击菜单栏window-Perferences,配置NDK的路径。

在工程中添加native lib
新建一个空白的Android工程,在根目录上点击右键Adnroid Tools - Add Native Support...

在弹出的对话框中输入要新建的lib的名称,点击Finish,在工程目录下会多出一个jni文件夹,里面有一个空白的cpp文件和一个Android.mk文件

Android.mk文件的内容是
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestJni
LOCAL_SRC_FILES := TestJni.cpp
include $(BUILD_SHARED_LIBRARY)
TestJni就是要加载的lib的名称,LOCAL_SRC_FILES 是资源文件的路径。
hello jni

MainActivity.java代码如下:

复制代码

代码如下:

package com.example.testjni;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView textView = new TextView(this);
textView.setText(helloFromJni());
setContentView(textView);
}

public native String helloFromJni();

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

TestJni.cpp代码如下:

复制代码

代码如下:

#include <jni.h>
extern "C" jstring Java_com_example_testjni_MainActivity_helloFromJni(JNIEnv *env, jobject thiz) {
return env->NewStringUTF("Hello From Jni");
}

直接运行程序,可以在Console窗口中看到NDK build的输出


有一点要注意:由于我使用的是x86的Android虚拟机来运行,所有使用的是x86的编译器。制定编译器的方法是在jni目录新建一个Application.mk的文件,输入以下内容
#APP_ABI := armeabi
APP_ABI := x86
#APP_ABI := armeabi armeabi-v7a x86 mips mips-r2 mips-r2-sf
#APP_ABI := all
APP_STL := stlport_static
如果是普通arm处理器的Android手机,使用APP_ABI := armeabi,如果是x86处理器的,使用APP_ABI := x86,等等。
如果APP_ABI := all,会编译所有指令的so。
运行结果如下:

至于C/C++的编译是怎么实现的,我们可以查看一下工程的Properties

在Builders里面有多了两项,一个是CDT Builder,一个是Scanner Configuration Builder。
现有的工程添加Builder
如果工程里面已经有jni目录了,但是没有配置C/C++的编译器,高手们可以自己添加Builder,对于我这种爱投机取巧的小菜鸟,工程右键菜单,新添加一个空白的so,然后再删除,CDT Builder和Scanner Configuration Builder就出来了。

(0)

相关推荐

  • C#开发Android应用程序的流程

    操作方法 01 手把手教你用C#开发Android应用程序的方法和流程摘要:用C#能开发RFID-android吗?C#真的能开发android程序吗?C#开发android程序的工具是什么?开发步骤 ...

  • 教您如何开发Android客户端

    操作方法 01 现在有不少安卓网站开发公司,也有很多人寻找专业的安卓网站开发公司来开发网站Android客户端.其实网站Android客户端是可以自己开发的,就由国互网来给我们解答为什么开发Andro ...

  • 如何在MyEclipse中开发Android应用

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较多人使用&quo ...

  • 如何快速的开发android应用(以消息推送为例)

    操作方法 01 现在有款工具可以帮助大佬们快速开发.今天就介绍一下它: 使用他们的服务首先要注册一个帐号,并通过邮箱激活: 注册之后登录网站后台界面, 点击创建应用,预览一下菜单栏各个模块信息 下面就 ...

  • 使用Ant搭建Android开发环境入门

    配置Ant环境 下载Ant:http://ant.apache.org/bindownload.cgi 在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。 打开系统环境变量,在系统 ...

  • android开发入门教程-工具介绍

    随着智能手机的普及,Android应用软件的开发越来越受到很多人的青睐,那么Android入门需要具备哪些基础知识和工具呢?坐标来为您分享. 操作方法 01 第一:语言选择. Android引用是采用 ...

  • Android开发-Eclipse:[1]新建Android程序

    安装了Android插件的Eclipse开发Android APP 之 新建一个 Android程序 创建 HelloAndroid 程序 01 打开Eclipse 02 新建一个Android工程 ...

  • 如何安装Android Studio开发工具

    自Android问世以来,大多数人都使用的是JDK+Eclipse+ADT+SDK的集成方式开发Android应用程序,这给初学者带来了很大的困惑,比如环境搭建失败如何处理,ADT应该使用那个版本等一 ...

  • Android 4.0开发环境搭建和测试

    操作方法 01 1,1,下载所需要的软件 Android开发需要的工具: lJDK 5或 JDK 6或者JDK 7 需要注意的是仅有JRE是不够的.JRE是Java的运行环境,而JDK不仅包含了JRE ...