AndroidStudio的NDK配置
来源:互联网 发布:中信证券网上交易软件 编辑:程序博客网 时间:2024/05/17 13:14
本文教学课程文章,仅供参考:
1.环境安装
AndroidStudio默认不支持NDK开发,需要下载依赖工具,打开Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK,点击确认,软件会自动安装NDK。
这里需要一个较长的时间,耐心等待安装完毕,最好重启下AS。
2.安装环境变量
3.直接调用本地方法
首先创建一个应用,并实现Java层的代码:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //这里定义了一个本地方法 观察方法 没有实现 public native String helloFromC(); /** * 点击按钮调用C代码返回的数据 */ public void showTostClick(View v){ Toast.makeText(this, helloFromC(), Toast.LENGTH_SHORT).show(); }}
然后运行的时候报错,告诉我们没找到helloFromC() 的实现:
4.对helloFromC()的方法实现
写了上面的代码后,你会发现有些类不是很清晰,需要查看源码,但是这里却找不到 jstrig 源码:
接着导包:
#include <jni.h>
为了让工具识别这个规范文件,我们需要再次做配置,找到gradle.properties,配置如下(主要配置第二句):
org.gradle.jvmargs=-Xmx1536mandroid.useDeprecatedNdk=true
5.编译c代码
因为一般的C代码是无法在机器中运行的,只有经过编译成为二进制代码才能被系统读取并运行。
首先需要拿到NDK的doc文档,建议点击链接NDK安装包下载,然后解压拿到某一版本的doc文档目录。
因为C语言的编译的过程中我们用了makefile文件的作为自动化编译的脚本,整个JNI的配置需要一个名叫Android.mk的文件,我们可以从上面doc文件夹的红色框查找:
6.对接.so库与java层
让java层去libhello.so库中搜索对应的实现方法:
public class MainActivity extends AppCompatActivity { static { System.loadLibrary("hello"); } ...}
libhello.so的总目录在哪里呢?需要在app的build.gradle中配置:
阅读全文
0 0
- AndroidStudio的NDK配置
- AndroidStudio NDK Gradle配置
- androidstudio Ndk 环境配置
- androidstudio ndk 配置
- AndroidStudio配置ndk环境
- AndroidStudio ndk 環境配置
- AndroidStudio配置NDK开发环境
- AndroidStudio NDK环境配置详解
- AndroidStudio使用NDK配置方法
- AndroidStudio使用NDK配置方法
- AndroidStudio使用NDK配置方法
- AndroidStudio使用NDK配置方法
- Mac下的AndroidStudio的NDK配置及开发示例
- AndroidStudio上使用NDK(Jni)的配置
- AndroidStudio下的NDK开发
- 走进AndroidStudio下的NDK
- AndroidStudio 提示NDK的问题
- AndroidStudio NDK的接入填坑记
- 树网的核 洛谷p1099
- MyEclipse部署Maven webapp项目到Tomcat
- 初学python:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- windows下各种系统下载的搜索
- C#操作SQLite数据库
- AndroidStudio的NDK配置
- Multiple annotations found at this line:
- SAS学习笔记(一)
- uva 1329
- ios-利用本地通知跳转到应用程序指定界面
- Contrastive Loss
- 1030 分页 #和$
- springMVC加载静态资源问题
- python中的列表生成式