欢迎使用CSDN-markdown编辑器

摘要
在mac上用AndroidStudio1.5 创建NDK开发环境
本文参考了youtube上的一个视频,想直接看视频的可以访问 https://www.youtube.com/watch?v=RmPuwdxR1qs (要翻墙)

废话少说打开androidStudio,新建一个工程 NDKTest

新建完毕

依次打开 File->ProjectStruct 得到下面图

检查第三行是否为空,是则代表ndk还没下载,直接点击下载即可

下载完毕后,打开设置,在搜索那里输入Exter,选择ExternalTools

注意!默认情况下这里是空的

点击左下角那个+号,添加这几个工具路径

分别是javah,ndk-build,ndk-build clean,依次如下图

Program JDKPath /bin/javah (javah存放路径)

Parameters -classpath Classpath -v -jni FileClass (命令参数)

Working directory SourcepathEntry /../jni (这个是你的c/c++文件存放路径)

第一个是ndk的文件路径,默认下载地址是在你的sdk包下面

Working directory ProjectFileDir /app/src/main

这个跟ndk-build相比只是第二行多了个clean

到这里环境就配置完毕了

然后将目录切换到project

右键main-NEW-floder-jniFloder-finish

此时会多出一个与java并级的目录jni

好,先把这个目录放一边,打开java,新建一个类NdkTest,敲上如下代码

然后打开build.gradle

在defaultConfig里面加入下面几句

ndk{

        moduleName "MyJniLib"

    }


    sourceSets.main{

        jni.srcDirs=[]

        jniLibs.srcDir "src/main/libs"

    }

打开gradle.properties

最下面加一句 android.useDeprecatedNdk=true

点击Build-Make Project

make完毕后

右键刚才新建的类(NdkTest)选择javah

build完后,jni文件下会出现

里面是这样的,这是该c库的头文件

右键jni文件,新建一个file,起名为MyJniLib.cpp

导入生成的头文件

include”com_zy_ndktest_NdkTest.h”

将头文件的函数名复制过来实现

JNIEXPORT jstring JNICALL Java_com_zy_ndktest_NdkTest_getString(JNIEnv *e, jobject)

{

return e->NewStringUTF("hello ndk !!!");

}

文件如图

最后,继续在jni文件中新建两个文件—>Android.mk和Application.mk

在Android.mk中写下如下几句

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE :=MyJniLib

LOCAL_SRC_FILES=MyJniLib.cpp

include $(BUILD_SHARED_LIBRARY)

Application.mk中

APP_MODULES :=MyJniLib

APP_ABI :=all

然后,右键jni文件,选择ndk-build

让其build一会,so库就生成了,并存放在之前指定的libs中

最后运行检验

如图,可以看到log中的hello ndk!!!

成功!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值