文档章节

android studio下的ndk开发流程

abcijkxyz
 abcijkxyz
发布于 2016/07/30 17:23
字数 301
阅读 7
收藏 0

总结了下android studio 下的ndk开发流程,步骤稍微有点多,不过流程还是挺简单的,掌握了这一套固定流程后,后续有需要的话,就可以直接拿来实用了。

1、配置ndk路径(需要先下载ndk压缩包),如下:

2、配置local.properties文件的ndk路径
ndk.dir=D\:\\android\\ndk\\android-ndk-r10b(下载的ndk的路径)
3、在gradle.properties文件末尾加上android.useDeprecatedNdk=true

4、创建Model,选择Android Library即可,如下:


5、在新建的library的main/java/packagename下面建立一个TestJni.java文件,里面的实现如下:
public static native String getStrFromC();
6、生成jni目录下面的.h文件,方法是:在终端(ctrl+shift+F12)的mylibrary\src\main目录下执行:javah -d jni -classpath ..\..\build\intermediates\classes\debug com.example.wdong.mylibrary.TestJni
7、在jni目录下面新建一个c文件(另外还需要再建一个空的c文件,不然编译会报错),实现本地方法,如下:
JNIEXPORT jstring JNICALL Java_com_example_wdong_mylibrary_TestOne_getStrFromC
  (JNIEnv *env, jclass jclass)
{
	(*env)->NewStringUTF(env, "test");
}
8、执行build下面的Make Model,就会在mylibrary\build\intermediates\ndk\debug\lib下面生成so库了
9、编写代码调用c库里面的函数,如下:
static {
	System.loadLibrary("mylibrary");
}
String str = TestJni.getStrFromC();

本文转载自:http://blog.csdn.net/wdong_love_cl/article/details/51429769

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
Android JNI学习(二)——实战JNI之“hello world”

本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法...

隔壁老李头
05/09
0
0
开发兼容英特尔架构的Android应用(三) 如何设置您的NDK应用

如何设置您的NDK应用 本篇主要介绍NDK应用的开发步骤,调试流程已经如何为英特尔架构设置您的NDK应用。 相关文章 •1. 开发兼容英特尔架构的Android应用(一) 应用架构介绍 •2. 开发兼容英特...

LiSteven
2013/08/07
0
0
[Android] 环境配置之Android Studio开发NDK

======================================================== 作者:qiujuer 博客:my.oschina.net/u/1377710 网站:www.qiujuer.net 开源库:Genius-Android 转载请注明出处:http://my.osc......

Qiujuer
2014/12/21
0
8
Android应用开发相关下载资源

官方终于发布了Android Studio正式版,Android Studio将会成为推荐使用的主要Android开发工具. (1)Android SDK (Android SDK主安装包,包含SDK Manager、AVD Manager、工具包tools,释放后的...

吴斌大大
2015/04/01
0
0
React Native Android 源码分析之前期准备

前言 React Native 是目前最流行的跨平台框架,并且是 Facebook 团队开源的项目。架构及实现技术上都有很高的研究价值,本系列就来分析一下 React Native 的一些核心代码。 此系列文章针对的...

骑摩托马斯
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
3
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
5
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部