Android Dev Intro - Android NDK with Android Studio

转载 2016年05月31日 10:02:29


https://github.com/TsinStudio/AndroidDev


Android NDK C++ 开发利器:Android Studio


在今年的Google IO大会上,Google宣布Android Studio开始支持NDK开发。通过和JetBrains的合作,将CLion整合进了Android Studio 1.3,并免费支持NDK C++开发。

NDK Debug

使用Gradle编写C++项目脚本

下面这段工程脚本来自Google提供的Sample

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 22
        buildToolsVersion = "22.0.1"

        defaultConfig.with {
            minSdkVersion.apiLevel    = 9
            targetSdkVersion.apiLevel = 22
            versionCode     =  1
            versionName     = "1.0"
       }
    }
    android.ndk {
            moduleName = "game"
            cppFlags  += "-I${file("src/main/jni/native_app_glue")}".toString()
            cppFlags  += "-I${file("src/main/jni")}".toString()
            cppFlags  += "-I${file("src/main/jni/data")}".toString()
            ldLibs    += ["android", "EGL", "GLESv2", "OpenSLES", "log"]
            stl        = "stlport_static"
    }
    android.lintOptions {
        abortOnError  = false
    }

    android.buildTypes {
        release {
            isMinifyEnabled = true
        }
    }

    android.productFlavors {
        create ("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
        create ("arm8") {
            ndk.abiFilters += "arm64-v8a"
        }
        create ("x86-32") {
            ndk.abiFilters += "x86"
        }
        // for detailed abiFilter descriptions, refer to "Supported ABIs" @
        // https://developer.android.com/ndk/guides/abis.html#sa

        // build one including all cpu architectures
        create("all")
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.1'
}

NDK工程的编译配置脚本主要是下面几行:

android.ndk {
        moduleName = `"game"`
        cppFlags  += "-I${file("src/main/jni/native_app_glue")}".toString()
        cppFlags  += "-I${file("src/main/jni")}".toString()
        cppFlags  += "-I${file("src/main/jni/data")}".toString()
        ldLibs    += ["android", "EGL", "GLESv2", "OpenSLES", "log"]
        stl        = "stlport_static"
}

调试C++项目

调试项目之前,需要创建Native的调试配置。打开菜单Run->Edit Configurations..,然后选择Native配置类型,如下图所示:

Natvie Debug Natvie Debug

配置好后,选择运行的模块就行了。如果LLDB调试器挂了,可以换用GDB进行调试工作。

Natvie Debug

调试的体验和Visual Studio差不多,基本的功能都有,比Eclipse调试Native层可能要方便些。

Natvie Debug


代码编辑器支持的特性

  • 支持Native函数和Java native方法的跳转和方法查找
  • 支持C++代码高亮和代码补全

Editor



相关文章推荐

Android NDK and OpenCV Development With Android Studio

转载一篇写的很好的关于AS中配置OpenCV的NDK开发,原文地址如下,注:作者采用的是Mac配置,Windows配置稍有不同,主要在build.gradle file under app modul...

使用 visual studio 调试android NDK 程序

在 android native 开发中一般使用 visual studio ,这是个强大的工具,支持跨平台。不过调试的时候比较麻烦,这里整理一下调试步骤: 1,配置好SDK,NDK:工具-->选项-...

Android NDK *** could not be resolved

  • 2014年12月04日 18:02
  • 2.42MB
  • 下载

ANDROID NDK

  • 2014年12月08日 14:14
  • 507KB
  • 下载

[android ndk]android studio动态库生成及jni底层调用步骤

android studio动态库生成及jni底层调用步骤,ndk开发系列教程

Android NDK

  • 2013年09月01日 11:44
  • 419KB
  • 下载

android NDK培训

  • 2013年09月29日 16:16
  • 457KB
  • 下载

Mastering Android NDK Build System - Part 1: Techniques with ndk-build

http://web.guohuiwang.com/technical-notes/androidndk1 Mastering Android NDK Build System - Part 1: ...

Android NDK Beginner's Guide源码

  • 2012年10月30日 10:30
  • 40MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Dev Intro - Android NDK with Android Studio
举报原因:
原因补充:

(最多只允许输入30个字)