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] 环境配置之Android Studio开发NDK

NDK 开发哪家强?XX XX 找 Blue Fly . 说到 NDK 开发,其实麻烦的是配置。 在这里不用配置Cygwin ,不用额外操作;不使用 Eclipse ;使用最新的 Android St...
  • qiujuer
  • qiujuer
  • 2014年12月21日 12:01
  • 30009

AndroidStudio如何配置NDK/JNI开发环境

参考文章: http://www.th7.cn/Program/Android/201509/550864.shtml http://www.open-open.com/lib/view/open14...
  • aplixy
  • aplixy
  • 2016年05月16日 22:41
  • 44334

Android Studio集成NDK开发环境

这几天需要使用C语言在底层编译,所以就打算在Android studio中打造可以编译C的环境,毕竟使用Android studio久了,就不怎么想用Eclipse开发了 废话不多说,直接来看一波集成...
  • a376051132
  • a376051132
  • 2017年04月01日 17:36
  • 876

android studio下的NDK开发详解(一)

好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好。 学了一年多的硬件,现在来做android,不知道是对是错,跟着感觉走,开始总是想把android和硬件挂上勾,所以第一个android...
  • tuoguang
  • tuoguang
  • 2015年09月01日 01:05
  • 4667

AndroidStudio中的NDK开发初探

前段时间由于做比赛的事,一直都没时间写博客,现在终于可以补上一篇了,一直想学习一点NDK开发的知识,但是迟迟没有动手,正好有一个NDK相关的项目机会,便查阅了一些资料,遂将学习的一些心得方法记录于此。...
  • bingjianIT
  • bingjianIT
  • 2017年07月20日 17:40
  • 3961

环境配置之Android Studio开发NDK

转载请注明出处:http://blog.csdn.net/qiujuer/article/details/42040963 NDK 开发哪家强?XX XX 找 Blue Fly. ...
  • Working_Harder
  • Working_Harder
  • 2016年09月16日 18:20
  • 4662

Android studio NDK开发

Android Studio版本:release 1.0.2 创建一个空的project。创建一个空的activity。 在该类里面定义一个native方法。如下: public native Str...
  • rznice
  • rznice
  • 2014年12月31日 15:55
  • 58427

Android Studio下使用NDK

学习在Android Studio上使用NDK,花的时间比当时用ADT还长。呵呵,顺便吐槽一下,百度出来的资料不多,用微软的必应和雅虎的搜索比较多;另外搜索出来的很多链接是连接失败的,这个做Andro...
  • zhaoguangjun33
  • zhaoguangjun33
  • 2016年06月16日 10:37
  • 5869

Android Studio 2.2 NDK开发环境搭建

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52763192 本文出自: 【HansChen的博客】 Android应用程序使...
  • shensky711
  • shensky711
  • 2016年10月09日 08:47
  • 11675

windows下Android studio增量更新及NDK环境搭配

最近看了安卓增量更新的文章,自己尝试了下,无奈自己用的windows的系统,出现了各种问题,经过查资料,终于成功,现在总结下并分享下经验。(参考鸿洋的增量更新博客)首先我们配置下NDK的环境,配置好的...
  • baoolong
  • baoolong
  • 2017年01月12日 15:57
  • 1268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Dev Intro - Android NDK with Android Studio
举报原因:
原因补充:

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