Android studio ndk 开发轻松两步就搞定,打通Java和c/c++
2017-05-03 18:24
477 查看
1、当然是配置ndk的路径,我的是14的版本
![](https://oscdn.geek-share.com/Uploads/Images/Content/201705/76b9e9a8fffd62a3adaf878d55e54dab)
2、编写自己的Java类和Native方法,这是会提示错误,鼠标放在方法名上,利用错误提示生成同名的.C文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201705/4c23e9df6d43f1b6e48a5da449a8f238)
3、在jni文件夹下生成了文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201705/f2ada83156a28facd47b9df20b3aa7c4)
4、在gradle中加入编译配置,注意是放在defaultConfig中的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201705/c2f55869fe6c2b85f9e42d2fa7c54edf)
5、直接运行就可以了,生成的.so文件在build目录下面如图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201705/a5b45fff0f44bcf83d040f8591188381)
6、最开始生成的c文件相当于接口一样(它虽然是c代码但是为了Java能互通,所以格式很怪),其他的c文件可以按照c的风格写。
2、编写自己的Java类和Native方法,这是会提示错误,鼠标放在方法名上,利用错误提示生成同名的.C文件
3、在jni文件夹下生成了文件
4、在gradle中加入编译配置,注意是放在defaultConfig中的。
ndk{ moduleName "bootService" //生成的so名字 abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库。目前可有可无。 }
5、直接运行就可以了,生成的.so文件在build目录下面如图
6、最开始生成的c文件相当于接口一样(它虽然是c代码但是为了Java能互通,所以格式很怪),其他的c文件可以按照c的风格写。
相关文章推荐
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android studio NDK开发 从入门到实践-之将java代码打包成jar包
- Android-NDK开发之第四个例子--用C/C++调用Java
- Android JNI/NDK开发(2)JNI实现C/C++与Android/JAVA相互调用
- Android Studio 通过JNI机制和 ndk开发的C/C++ 互相沟通
- CC++初学者编程教程(10) 搭建Android java C/C++ NDK QTforAndroid 开发环境
- Android Studio NDK 入门教程(3)--Java与C++之间的类型签名
- AndroidStudio NDK开发 c环境调用java代码
- Android studio NDK笔记3 -通过c/c++返回HashMap等复杂参数给java
- JNI NDK (AndroidStudio+CMake )实现Java调用C C++代码流程
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之第四个例子--用C/C++调用Java
- JNI NDK (AndroidStudio+CMake )实现C C++调用Java代码流程
- Android Studio NDK开发之一(Java调用C的方法)
- Android-NDK开发之第四个例子--用C/C++调用Java
- CC++初学者编程教程(10) 搭建Android java C/C++ NDK QTforAndroid 开发环境
- Android Studio NDK 入门教程(2)--Java与C++之间的简单数据转换与传递
- 不单单用java开发android,可以是C/C++ 或c#
- 为什么Android系统需要使用C、C++和Java语言共同开发