欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world

程序员文章站 2024-01-13 11:51:34
...

通过一段找实习的经历,以及快应用、小程序、web app等移动开发模式的冲击,深深为安卓原生开发的未来感到担忧,希望接入人工智能API和物联网井喷能给安卓开发带来新的生机吧。

当然,作为小白我是不用担心这么多的,做自己喜欢的事就好了,于是抛开杂念,继续学习安卓。

NDK开发环境的搭建

相信很多人都在用Android Studio开发安卓了,当然,我也是用AS开发的,所以就用AS开始NDK开发环境的搭建。

我们用最简单的方式,在Setting或者SDK Manager找到如下界面,选中CMake和NDK后Apply。

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world

CMake是可选项,很熟悉C并且不嫌麻烦的可以不选此项。

安装的时间还是挺长的,利用这段时间,我们来学习一下NDK的开发流程。

1、java类中声明native方法

2、创建C/C++文件、实现native方法

3、在CmakeLists.txt中添加文件路径

4、静态代码块中加载library

5、调用native方法


我们来操作一下:

首先新建项目,添加C++支持,一路next,finish之后,我们发现目录结构比不加NDK的多了一点东西,其中

cpp和CMakeLists.txt,是我们接下来要用到的。

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


1、声明native方法

java目录下任意一个包里新建一个类,创建一个native方法,注意不能加方法体。

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


2、创建C/C++文件

cpp目录下新建一个c/c++ source file,我把它命名为hello,并实现sayHello方法

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


3、配置CMakeLists.txt,哇,好多英文啊,但实际上去掉#注释的内容,实际的配置并不多,而且我们今天需要关注的只有add_library()这一块。

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world

英文不好如我都能大概看懂是什么意思,相信你也可以的,

第一项是library的名字,这个需要记住,一会儿要用到,

第二个是设置库类型,可以设置成静态库,动态库,模块库之类的,以后学习到再详细介绍。

第三个是源文件路径,在这里,我们需要把写好的hello.cpp添加进来。

添加之后是这样的

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


4、静态代码块中加载library

这是是通过System.loadLibrary方法把我们的库加进项目,使之能正常运行。

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


5、调用native方法

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


运行结果,如下

Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world


当然,开发步骤可以根据实际需要做调整

附赠一种AS3.0下解决包冲突的方式

    api("com.github.bumptech.glide:glide:3.6.1") {
        exclude group: 'com.android.support'
    }
api是AS3.0新添加的依赖方式,group指只要包含冒号后面的包都会删除,亲测还是挺有效的。
相关标签: 安卓 NDK 入门