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
废话不多说,直接来看一波集成过程
第一步:
这个就是我创建的一个普通的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
相关文章推荐
- 【修正版】Android Studio集成NDK环境
- android-studio(1):配置NDK开发环境
- Android Studio NDK开发-环境配置
- NDK开发 Android Studio环境搭建
- AndroidStudio NDK开发 c环境调用java代码
- Android Studio JNI/NDK 编程(二) Windows 下环境搭建 demo 开发
- android studio NDK开发环境设置
- android studio ndk环境搭建 和开发
- android studio NDK开发环境设置
- android studio NDK开发环境设置
- Android Studio NDK开发环境搭建及Demo示例
- linux下android开发环境搭建及NDK安装[集成gcc编译器]
- NDK+AndroidStudio+Mac环境开发
- android studio NDK开发环境设置
- 004androidStudio ndk开发环境
- Android Studio NDK开发环境配置
- 【NDK开发】eclipse集成环境使用NDK开发android
- linux下android开发环境搭建及NDK安装[集成gcc编译器]
- android studio NDK开发环境设置
- Android Studio JNI/NDK 编程 Windows 下环境搭建 demo 开发