Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90029
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 231
  • 用 户 组: 普通用户
  • 注册时间: 2015-06-13 21:06
个人简介

来也匆匆 几十繁华一阵风; 去也匆匆 回头一看已成空

文章分类

全部博文(24)

文章存档

2016年(4)

2015年(20)

我的朋友

分类: Android平台

2015-06-15 16:15:09

前面一节主要介绍了Android.mk的基本语法,且Android.mk必须位于jni目录下,难道在编译第三方lib的时候的时候还要新建个jni目录?有没有感觉这种方法很low?那下面就介绍将Android.mk放在任何目录下都能执行ndk-build,彻底摆脱jni目录的限制!
要想Android.mk脱离jni目录,我们必须得了解ndk-build的几个命令参数:
    ndk-build NDK_PROJECT_PATH=...
        NDK_PROJECT_PATH: 指定工程路径,该值如果没有设定,必须在jni目录下建立Android.mk
    ndk-build APP_BUILD_SCRIPT=...
        APP_BUILD_SCRIPT: 指定Android.mk位置
    ndk-build NDK_APPLICATION_MK=...
        NDK_APPLICATION_MK:指定Application.mk位置
    ndk-build NDK_LIBS_OUT=...
        NDK_LIBS_OUT:指定libs的目录
    ndk-build NDK_OUT=...
        NDK_OUT:指定obj的目录
    ndk-build -C project_dir
        省去了cd操作,构建project_dir目录

好了,有了上面这些参数,让Android.mk摆脱jni目录真是so easy!关于如何设置ndk-build参数,请参见下面脚本。

点击(此处)折叠或打开

  1. #! /bin/sh
  2. # NDK_ROOT <== NDK install root directory
  3. BASE_DIR=`dirname $0`
  4. OBJ_DIR=$BASE_DIR/obj
  5. ARCH=armeabi
  6. OUTPUT=$BASE_DIR/lib
  7. $NDK_ROOT/ndk-build NDK_PROJECT_PATH=$BASE_DIR \
  8.                     APP_BUILD_SCRIPT=$BASE_DIR/Android.mk \
  9.                     NDK_APPLICATION_MK=$BASE_DIR/Application.mk \
  10.                     NDK_OUT=$OBJ_DIR \
  11.                     NDK_LIB_OUT=$OUTPUT
  12. if [ $? -eq 0 ];then
  13.     echo "*** build success ****"
  14. else
  15.     echo "*** build error ****"
  16. fi

阅读(1735) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:漫谈Android Makefile(下)

给主人留下些什么吧!~~