您的位置:首页 > 移动开发 > Android开发

Android Studio集成NDK开发环境

2017-04-01 17:36 267 查看
这几天需要使用C语言在底层编译,所以就打算在Android studio中打造可以编译C的环境,毕竟使用Android studio久了,就不怎么想用Eclipse开发了
废话不多说,直接来看一波集成过程

第一步:



这个就是我创建的一个普通的Android项目的列表

第二步:

进入Android studio的SDK Location

具体方式:File->Project Structure->SDK Location





第三步:

选择你的NDK location:



推荐尽量从网上单独下载NDK,不要在SDK Manager里面下载,有时候在里面下载的会出现问题,我就出现了,我也不知道什么原因,有大神知道的话,可以留言告诉下在下,抱拳了 老铁

这是我的ndk:
http://pan.baidu.com/s/1hrPPquS密码:qcud

如果不知道怎么使用的话,直接百度吧,度娘有什么多的解释

第四步:

在你那个MainActivity中写代码:

public nativeString
getString();

这个时候需要来一波注意了,MainActivity不能继承与AppCompatActivity这个类,而需要继承与Activity这个类,我就是被这个坑给坑了一天多的时间,果然太恶心了这东西

然后方法名会报红色,这个时候不要紧张,build project一下,生成MainActivity类的.class文件

具体位置



形成这些要干啥呢,不要紧张,继续看下一步

第五步:

打开你的Android studio命令窗口,也就是



这个东西.如果你不懂linux命令的话,你就直接复制粘贴,更改自己的路径 就可以了

然后在上面执行:

cd app\src\main //进入main文件夹

接下来使用javah命令,生成对应的头文件:

javag -d -jni -classpath D:\adt-bundle-windows-x86_64-20140321\sdk\platforms\android-22\android.jar;../../build/intermediates/classes/debug com.example.ios.studentday07.MainActivity

注意了:android.jar这个东西,需要换成你电脑上sdk中android..jar的路径,然后最后那个是包名.类名,就是你需要执行c中的方法的那个类的包名和类名

然后你会发现你的目录中自动的出现了一个jni文件夹,文件夹下有个你 包名.类名.h 的文件

这个就表示你生成头文件成功了

第六步:

在你的jni文件夹下面创建一个c/c++文件类型,然后你就可以在里面实现你的c语言代码了



比如我就在里面写了:
#include "com_example_ios_studentday07_MainActivity.h"

//#include <android/log.h>
//#define LOG_TAG "System.out"
//#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#pragma clang diagnostic push
#pragma ide diagnostic ignored "CannotResolve"
//#define LOGINFO(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
JNIEXPORT jstring JNICALL Java_com_example_ios_studentday07_MainActivity_getString
(JNIEnv * env, jobject obj){
// LOGINFO("LOGINFO");
return(*env)->NewStringUTF(env,"NDK
测试成功"
);
}
#pragma clang diagnostic pop

然后,现在流程差不多了.

第七步:

你想要运行起来,现在还不行咯

你需要在你的Module下面写上这样的一些东西,虽然我也不懂:



第八步(最后一步):

需要在事先在加载你刚才创建的.so库:

比如我这个demo中:

static{
System.loadLibrary("MyJni");

}

最后你的MainActivity中写代码吧!!



这个就可以加载c语言了

demo地址:http://download.csdn.net/detail/a376051132/9801631
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: