• android+NDK+Mac安装


    一、NDK解析:

          Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可以实现的。

      不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,Android SDK文档里,找不到任何JNI方面的帮助。即使第三方应用开发者使用JNI完成了自己的C动态链接库(so)开发,但是so如何和应用程序一起打包成apk并发布?这里面也存在技术障碍。比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。

      于是NDK就应运而生了。NDK全称是Native Development Kit。

      NDK的发布,使“Java+C”的开发方式终于转正,成为官方支持的开发方式。NDK将是Android平台支持C开发的开端。

    二、下载并解压:

    http://developer.android.com/tools/sdk/ndk/index.html

    官网方法:用 “./***”解压

    ndk$ chmod a+x android-ndk-r10c-darwin-x86_64.bin
    ndk$ ./android-ndk-r10c-darwin-x86_64.bin

    三、Mac下安装配置环境:

    解压完,copy到一个专门放自定义运行文件的目录中,比如,mac下建Users/yourname/bin 目录

    export PATH=${PATH}:/Users/jarrahwu/Documents/android-ndk-r10d  //

    A_NDK_ROOT=/Users/lian***uan/bin/android-ndk-r10d   //

    export A_NDK_ROOT

    四、android studio项目中修改 local.properties

    sdk.dir=/Applications/Android Studio.app/sdk      //写自己的sdk和ndk的路径
    ndk.dir=/Users/liang***uan/bin/ndk

    当没装NDK时报的错:

    Error:Execution failed for task ':app:compileDebugNdk'.
    > NDK not configured.
    Download the NDK from http://developer.android.com/tools/sdk/ndk/.
    Then add ndk.dir=path/to/ndk in “local.properties”.   // 这边甚至教了你需要添加的位置
    (On Windows, make sure you escape backslashes, e.g. C:\ndk rather than C: dk)

    相关链接:

    http://developer.android.com/tools/sdk/ndk/index.html //官网下载地址 和 安装方法 ,但配置.bash_profile需要参考下面文档

    http://www.cnblogs.com/jarrah/archive/2013/03/15/2961892.html //mac下安装

    http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html //解释什么是NDK,为什么用NDK

    1、以专家为榜样,不必自己重新探索
    2、解构技能,找出实现80%效果的那20%
    3、不要一心二用
    4、练习练习再练习!然后获得即时反馈
    5、坚持,不要在低谷期放弃
  • 相关阅读:
    maven加载jar包配置
    JavaScript基础博客
    angularjs1 实现地图添加自定义控件(搜索功能)及事件
    AngularJS之Directive,scope,$parse
    HTML5 File详解
    angularjs上传图片
    input上传按钮美化
    AngularJs表单验证
    作用域与闭包
    理解JavaScript中的作用域和上下文
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/4065801.html
Copyright © 2020-2023  润新知