Linux 环境下如何使用NDK进行Android开发

本文介绍了在Linux系统中如何使用NDK进行Android开发,包括NDK的验证、在Eclipse创建Android工程并声明JNI函数、生成JNI头文件、定义和实现JNI函数以及编写Android.mk文件。通过手动编译,开发者可以更好地理解整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  下载NDK

地址:http://developer.android.com/tools/sdk/ndk/index.html

解压-》配置环境变量(此处不多说明) 在shell中输入ndk-build -version 验证是否安装成功。


2.  在eclipse中建立Android工程,并声明JNI函数

如下所示:(完成对jni函数的声明)


public class JNITWO {
    static{
        System.loadLibrary("JNI");
    }
    
    public native int cal(int a);
}

接着编译,如果成功,你会在工程目录下的/bin/classes目录下找到对应的class文件


3.  生成JNI头文件

在工程根目录下建立jni目录,然后在shell中定位到jni目录下,并输入

javah -classpath ../bin/classes com.example.testjni.JNITWO

此过程成功后,会生成com_example_testjni_JNITWO.h头文件


4.  定义(实现)JNI函数,以及Android.mk文件

根据3中生成的头文件,编写c/c++文件

然后书写Android.mk文件 (范例如下)

LOCAL_PATH := $(call my-dir)
LOCAL_CPP_EXTENSION := .cpp
include $(CLEAR_VARS)

LOCAL_MODULE    := JNI
LOCAL_SRC_FILES := JNITWO.c

include $(BUILD_SHARED_LIBRARY)

其中第二行为c++文件所必须的扩展语句(如果只有c语言可以不用这句话)

LOCAL_MODULE 表示要生成so文件的模块,比如此处会生成libJNI.so文件

LOCAL_SRC_FILES 表示要编译的源文件 (如果有多个文件可以用空格分开)

其他的可以不用修改

5.  编译生成so文件

在shell中定位到jni目录下,运行ndk-build,如果成功则会生成 so文件


备注:也可以在eclipse中配置自动利用NDK来编译,但是个人觉得不能太依赖IDE,而且自己手动编译也可以对整个过程有个更清晰的了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值