美文网首页
Android NDK总结

Android NDK总结

作者: Jcccccccccc | 来源:发表于2017-11-17 15:53 被阅读21次

NDK优点

  • 1、代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。
  • 2、可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。
  • 3、提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。
  • 4、便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用。

变化

从Android Studio 2.2开始,使用CMake作为构建原生库的工具,代替原来的ndk-build

  • Android 原生开发工具包 (NDK):这套工具集允许您为 Android 使用 C 和 C++ 代码,并提供众多平台库,让您可以管理原生 Activity 和访问物理设备组件,例如传感器和触摸输入。
  • CMake:一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果您只计划使用 ndk-build,则不需要此组件。
  • LLDB:一种调试程序,Android Studio 使用它来调试原生代码

CMake的配置

android官网指南

  • 配置开关 properties文件配置
    android.useDeprecatedNdk = true

  • CMakeLists文件的配置

android {
  ...
  defaultConfig {...}
  buildTypes {...}

  // Encapsulates your external native build configurations.
  externalNativeBuild {

    // Encapsulates your CMake build configurations.
    cmake {

      // Provides a relative path to your CMake build script.
      path "CMakeLists.txt"
    }
  }
}
  • 输入平台的配置
android {
  ...
  defaultConfig {
    ...
    externalNativeBuild {
      cmake {...}
      // or ndkBuild {...}
    }

    ndk {
      // Specifies the ABI configurations of your native
      // libraries Gradle should build and package with your APK.
      abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a',
                   'arm64-v8a'
    }
  }
  buildTypes {...}
  externalNativeBuild {...}
}

调试C/C++代码 LLDB

官网说明

相关文章

网友评论

      本文标题:Android NDK总结

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