博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码中编译.so文件
阅读量:7143 次
发布时间:2019-06-29

本文共 765 字,大约阅读时间需要 2 分钟。

hot3.png

越来越强烈的感觉到学到的知识最好要通过笔记的形式记录下来,要不然时间久了就会忘掉,再用到的时候还要重新学习,实为浪费。之前自己学到的一些知识没有立刻将记录下来,现在想想真是浪费了。痛下决心,从此,好好写博客,记录学习轨迹。刚好今天公司android技术老大新教了一项新技能,记录一下,以防遗忘,本人新手,欢迎批评指正。

    项目中有时需要写一些c++的代码,编成.so的文件供java程序调用,而c++文件中用到android源码中的一些c++的代码,因此需要在源码环境中编译。

  首先必须要用android源码,我的源码位于/home/hxl/work/android/android4.4.2/mydroid目录下,当然是linux系统了。linux命令行中进入该目录下,

运行命令source build/envsetup.sh,该命令的意思是执行build目录下的envsetup.sh文件。(本人的build目录在myandroid目录下)

然后运行 choosecombo命令 会出来一系列让你选择版本的东西,直接回车好了,不知此步是否为必须,我尝试过未执行该命令依然能编译成功。

再然后将你的c++的相关文件包括mk文件和头文件放入源码中的任一目录,进入该目录

最后执行mm -B等一会,完成后就得到.so的文件了,就可以放在android项目中的libs文件夹下的armeabi文件夹了供java调用了。

注意,生成的.so文件 /home/hxl/work/android/android4.4.2/mydroid/out/target/product/generic/system/lib文件夹下面了。

相关链接:

转载于:https://my.oschina.net/u/1015229/blog/391465

你可能感兴趣的文章
Android AES加密算法,现在实际上
查看>>
机器学习中的正则化和范数规则化
查看>>
C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
查看>>
Datazen自定义地图
查看>>
Calculate CRC32 as in STM32 hardware (EWARM v.5.50 and later)
查看>>
Android Sdk 国内镜像下载地址
查看>>
strcmp的源码实现
查看>>
Java多线程7:死锁
查看>>
概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式...
查看>>
worker_pool的例子
查看>>
Android 插件化
查看>>
Yii2的深入学习--自动加载机制
查看>>
sqlserver修改增删改字段
查看>>
设计模式介绍、分类、原则
查看>>
超级好用的解析JSON数据的网站
查看>>
C#正则表达式匹配任意字符
查看>>
Objective-c中@interface、@implementation、@protocal
查看>>
Python yield 使用浅析
查看>>
DMA(STM32)
查看>>
最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
查看>>