愈来愈强烈的感受到学到的知识最好要经过笔记的形式记录下来,要否则时间久了就会忘掉,再用到的时候还要从新学习,实为浪费。以前本身学到的一些知识没有马上将记录下来,如今想一想真是浪费了。痛下决心,今后,好好写博客,记录学习轨迹。恰好今天公司android技术老大新教了一项新技能,记录一下,以防遗忘,本人新手,欢迎批评指正。java
项目中有时须要写一些c++的代码,编成.so的文件供java程序调用,而c++文件中用到android源码中的一些c++的代码,所以须要在源码环境中编译。linux
首先必需要用android源码,个人源码位于/home/hxl/work/android/android4.4.2/mydroid目录下,固然是linux系统了。linux命令行中进入该目录下,android
运行命令source build/envsetup.sh,该命令的意思是执行build目录下的envsetup.sh文件。(本人的build目录在myandroid目录下)c++
而后运行 choosecombo命令 会出来一系列让你选择版本的东西,直接回车好了,不知此步是否为必须,我尝试过未执行该命令依然能编译成功。学习
再而后将你的c++的相关文件包括mk文件和头文件放入源码中的任一目录,进入该目录ui
最后执行mm -B等一会,完成后就获得.so的文件了,就能够放在android项目中的libs文件夹下的armeabi文件夹了供java调用了。spa
注意,生成的.so文件于位 /home/hxl/work/android/android4.4.2/mydroid/out/target/product/generic/system/lib文件夹下面了。.net
相关连接:http://blog.csdn.net/luoshengyang/article/details/6566662命令行