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


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

原文:https://github.com/TsinStudio/AndroidDev


使用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配置类型,如下图所示:


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

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


代码编辑器支持的特性

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


更多相关文章

  1. Android(安卓)程式开发:(十一)选择控件 —— 11.1 TimePicker
  2. android真机调试 INSTALL_FAILED_MEDIA_UNAVAILABLE 问题解决方
  3. 如何引入一个example到eclipse
  4. Qt For Android(安卓)开发环境配置
  5. 插曲1-项目开始前夕【我的第一次云项目连载】
  6. Android垂直tab导航栏、左侧竖直tab导航栏,支持viewpager,不依赖v
  7. Android系统RTC调试从驱动到应用(一)
  8. 自动打开USB调试
  9. Android(安卓)OpenCV使用1_导入OpenCV并依赖该项目

随机推荐

  1. Android总结篇系列:Android广播机制
  2. 【自定义控件系列四】android绘制实战(一
  3. Android(安卓)Touch事件传递机制
  4. Android(安卓)动画系列之自定义补间动画
  5. Android(三)数据存储之三SQLite嵌入式数据
  6. Android三种XML解析
  7. Android(安卓)之AsyncHttpClient
  8. 在Ubuntu上为Android增加硬件抽象层(HAL)模
  9. Android(安卓)之 使用MediaPlayer播放音
  10. Google Android(安卓)应用程序结构