Ubuntu 10.10下NDK的使用与配置

1、下载ndk相应的版本,如r5b版本,解压到某一目录

2、输入sudo gedit /etc/environment目录下,在Path中添加android ndk的目录(如/home/baobao/android-ndk-r5b)

3、编写项目测试

1)、使用Eclipse创建一个Android项目,名字为“HelloNDKJNI”,Build Target设置为“Android 2.2”,Application Name设置为“HelloNdkJni”,Package Name设置为com.gcx.ndkjniCreate Activity设置为“.HelloNdkJni”,Min SDK Version设置为“8”;

2)、接下来创建C语言库,在EclipsePackage Explore里面的HelloNDKJNI项目下创建文件夹“jni”,并在该目录下创建两文件“Android.mk”和“hello-ndk-jni.c”,


Android.mk文件内容如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-ndk-jni

LOCAL_SRC_FILES := hello-ndk-jni.c

include $(BUILD_SHARED_LIBRARY)


hello-ndk-jni.c文件内容如下:

#include <string.h>

#include <jni.h>

jstring Java_com_gcx_ndkjni_HelloNdkJni_stringFromNDKJNI( JNIEnv* env,jobject thiz )

{

    return (*env)->NewStringUTF(env, "Hello from NDK JNI !");

}

注:红色字体为调用java文件的目录位置,要与实际相一致,包括包名和文件名。

   蓝色字体为native方法的名称

3)、编译创建的C库,打开终端,切换到当前jni所在的目录(用 cd 目录 可直接切换)执行命令ndk-build,此时会在项目中生成libsobj目录,并在里面生成相应的文件,

4) 刷新Eclipse中的Package Explore中的HelloNDKJNI项目,此时objlibs目录也添加进去了,在obj/armeabi分支下也多了libhello-ndk-jni.so文件,hello-ndk-jni这个名是根据3-2)步中的Android.mk文件中的LOCAL_MODULE决定的,接下来修改src/com.gcx.ndkjni分支下的HelloNdkJni.java文件,最后的文件内容如下:

package com.gcx.ndkjni;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

public class HelloNdkJni extends Activity {

   

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        TextView tv =new TextView(this);

        tv.setText(stringFromNDKJNI());

        setContentView(tv);

    }

    public native String stringFromNDKJNI();

    static{

             System.loadLibrary("hello-ndk-jni");

    }

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值