美文网首页Android-NDK/JNI
NDK 入门:环境配置

NDK 入门:环境配置

作者: Android轮子哥 | 来源:发表于2020-06-20 11:53 被阅读0次

本文章所用的工具版本

  • Android Studio 3.6.3

  • Gradle 5.6.4

开胃菜

  • 在讲 NDK 之前,简单介绍一下 NDK 是什么?先来看看官方的回答
  • NDK 全称是 Native Development Kit,翻译过来是本地开发工具包,本质上和 JDK / SDK 很类似,这里不做过多的解释,接下来让我们开始搭建环境
  • 环境配置其实非常简单,安装 NDK 和 CMake 相关的包就可以了

  • 那么问题来了,CMake 是什么东西?我为什么要装它?不装行不行?

  • 原来是一个 C 语言的编译工具,可以根据我们提供的脚本来编译 so 库,跟 Gradle 的作用很类似,只不过 CMake 是专门用来编译本地语言的。

  • 如果把 NDK 比喻成一碗饭,那么 CMake 就是一双筷子,有饭和筷子才能吃饭,缺一不可。

创建一个 NDK 工程

  • 接下来让我们创建一个 NDK 的 Hello Work 工程
  • 这里有一个地方需要注意,包名不能带下划线
  • 点击 finish 按钮,等待创建即可
> Failed to apply plugin [class 'org.gradle.api.plugins.BasePlugin']
> Could not create service of type OutputFilesRepository using ExecutionGradleServices.createOutputFilesRepository().
  • 但是等来的不是惊喜,而是惊吓
  • 我们手动把 NDK 目录添加到 local.properties 文件即可,然后点击同步
  • 现在编译是没有问题了,接下来让我们运行一下
> Could not create service of type DefaultGeneralCompileCaches using GradleScopeCompileServices.createGeneralCompileCaches().
  • 现在又出现了一个报错,这种错误我也不知道是什么错误,好像是 Studio 的一个 Bug,直接在命令中输入
./gradlew compileDebugJavaWithJavac --stacktrace
  • 然后再运行项目
  • 可以看到项目已经顺利跑起来了

  • 这两个报错不一定是每个人都能遇到的,有可能是我的问题,大家遇到的话可以参考我的解决方法

Android技术分享Q群:78797078

相关文章

网友评论

    本文标题:NDK 入门:环境配置

    本文链接:https://www.haomeiwen.com/subject/apgjxktx.html