AndroidStudio NDK项目HelloJni
来源:互联网 发布:MAC上可以玩的游戏 编辑:程序博客网 时间:2024/04/29 19:52
本示例演示使用AndroidStudio自动生成so文件并打包
1.新建一个android项目HelloJni
2.初始项目大约是这样的
3.新建一个类及native方法
4.接下来需要需要生成AppUtils.class文件和AppUtils.class对应的.h头文件
生成class文件方法有两种:通过androidstudio自动生成class文件 ,通过命令行生成class文件
- 通过androidstudio自动生成class文件
项目的class文件存放在 项目名称/app/build/intermediates/classes文件夹之下,如果看不到全部的结构,在下图中更改
classes文件下当前没有AppUtils.class文件,需要重新生成 ,点击菜单Build -> ReBuild Project
接下来通过命令行进入debug文件夹使用javah命令生成.h文件
接下来在main文件夹中新建jni文件夹,然后将刚才生成的.h文件移动到jni文件夹之中
5.使用C/C++实现h文件
在jni文件夹下面新建.cpp文件并实现方法:
6.配置NDK编译
执行编译,然后可能会遇到一点问题:
Error:(14, 0) Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental. Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration.
日志显示需要启用 android.useDeprecatedNdk=true ,在gradle.properties加入该选项,如果没有gradle.properties文件自行新建
配置NDK环境:
然后重新Rebuild Project , 注意刚才的命令行如果没有退出,可能会报app:clean 失败,关掉命令行
7.注意接下来坑来了:
build的时候可能会报以下错误:
那么这是什么问题呢,通过baidu google找到答案,如果jni下面只有一个cpp/h文件 就会报错,解决方案就是:新建一个空的文件:
重新编译通过
8最后调用jni方法:
运行项目 完成:
项目DEMO地址:https://github.com/yang7206/HelloJNI_AndroidStudio
- AndroidStudio NDK项目HelloJni
- AndroidStudio 项目配NDK
- NDK环境搭建 + HelloJni
- Android NDK开发之《HelloJni》
- 【NDK开发】NDK开发实例1-hellojni
- 使用AndroidStudio运行第一个NDK项目
- AndroidStudio 2.3 NDK开发项目构建流程
- android下搭建ndk环境以及hellojni
- Android NDK之环境配置及HelloJni
- 02-android之NDK hellojni实例
- ndk环境搭建(HelloJNI开发)
- HelloJNI——创建NDK工程(NDK r10d)
- AndroidStudio NDK , VisualStudio NDK
- JNI NDK (AndroidStudio+CMake )开发第一个项目的流程
- 第十篇:ndk项目实战之Androidstudio开发经验总结
- Android-NDK开发之第一个例子HelloJni
- Android NDK的入门学习过程(安装和helloJNI例程)
- android中使用ndk之如何导入HelloJni
- 剑指offer系列之七:斐波那契数列
- 关于PV、UV、独立IP访问的区别
- WPF编程学习——布局
- MFC调用外部exe程序的方法
- C#模拟http 发送post或get请求
- AndroidStudio NDK项目HelloJni
- iOS应用程序打包
- java Swing模仿百度搜索功能的实现
- GTK循环向标签写内容导致窗口白屏的问题
- JAVA接口,抽象及多态
- 《剑指offer》——按之字形顺序打印二叉树
- visio2010 去除跨线
- 深入分析JavaWeb Item6 -- servletConfig 与servletContext详解
- Android 异常- android.content.ActivityNotFoundException: