关于NDK的配置以及第一个应用程序(android中java语言调用c/c++)

关于NDK的配置以及第一个应用程序(android中java语言调用c/c++)

第一步

需要的工具:eclipse sdk ndk,关于如何使用sdk网上教程很多,这里主要介绍ndk.现在最新版本的ndk是10版本,android-ndk-r10d,官网下载最新版本android-ndk-r10d
下载之后的样子是这里写图片描述
双击安装就可以了,其实就是解压的过程(注意啊,解压之后的目录跟文件的目录是相同的, 如果解压之后再想移动解压后的文件可就难了,自己有过体会
解压后的目录是这里写图片描述

第二步

OK,工具准备好了开始安装
1.点击window->Preferences->Android->DNK,然后选择你解压的目录文件,点击确定就可以了
这里写图片描述
这里写图片描述
这里写图片描述
2.已经配置好了环境是不是很高兴,下面开始自己的第一个测试程序
2.1新建一个安卓应用程序,这里取工程名字为Test这里写图片描述
2.2在新建的工程上面点击右键->android tools->add native support,.so文件名字随便取,这里就不更改了跟工程名字一样,点击finish这里写图片描述
这里写图片描述
2.3这时候工程里面就会多出来一些文件夹,其中我们本次需要操作的是jni文件夹,这时候里面自动创建Test.cpp和Android.mk文件
2.4其中Test.cpp文件是空的,需要自己来写。OK,
2.5在MainActivity同级目录下新建一个类,名字就叫做MyTest,里面的内容如下:(其中native表示的是本地方法,在java中调用在c++中实现)

package com.example.test;

public class MyTest {
    public static native String getString();
}

2.6MainAvtivity中的代码如下

package com.example.test;

import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {
    static{
        System.loadLibrary("Test");
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String str = MyTest.getString();
        TextView textView = new TextView(this);
        textView.setText(str);
        setContentView(textView);
    }

}

2.7然后就可以在Test.cpp中写c++代码了

#include <jni.h>
#include <string.h>
extern "C"{
    jstring Java_com_example_test_MyTest_getString(JNIEnv* env,jobject thiz)
    {
        return env->NewStringUTF((char*)"firstTest");
    }
}

(注意了,这里采用的是c++(.cpp)写的,一定要加外面的extern”C”,否则在运行时会报异常,提示无法找到getString方法,并且函数名字是 Java_包名_类名_函数名)

2.8可以运行一下看看了
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值