A40i_Android-编译tinyalsa 由于A40i_Android系统默认编译了tinyalsa库,但是没有像tinymix这样的工具,所以我们需要手动编译一下将其加进去。 一、TinyALSA全编译 先配置编译环境,进入源码android路径(bluesky@b31e1aa16b2a:/home/forlinx/android/android$),运行以下命令: source build/envsetup.sh && export OUT_DIR=out && lunch 24 或者 source ./build/envsetup.sh && lunch 24 再使用mmm命令进行编译: mmm external/tinyalsa 如图编译成功
需要回到源码路径(bluesky@b31e1aa16b2a:/home/forlinx/android$),检查一下Git仓库是否是干净的 git status 如果git仓库有待提交项,需要用如下命令将其放入暂存区 git add . 如果Git仓库是干净的仍然报错,可以尝试用以下命令来解决: git symbolic-ref HEAD refs/heads/master 二、编译产物放入文件系统 编译完生成的文件和库在如下路径 其中libtinyalsa.so已在文件系统中,无需再操作 1.利用ADB push到设备中 我们可以直接在虚拟机中将可执行文件push到开发板中,首先安装adb功能,并启动adb forlinx@forlinx:~$ sudo apt install adb //安装adb forlinx@forlinx:~$ adb start-server //启动adb服务 * daemon not running; starting now at tcp:5037 * daemon started successfully forlinx@forlinx:~$ adb devices //查看连接设备 List of devices attached 20080411 device 这里注意,在使用adb之前,先点击虚拟机右下角这个地方,将Android设备连接到虚拟机中 之后进入可执行文件的生成路径 #实际路径根据自己源码的解压路径而定 forlinx@forlinx:~$ cd android/android/out/target/product/a40-OKA40i_C/system/bin/ #将设备重新挂载为可读写状态,需要设备有root权限 forlinx@forlinx:~/android/android/out/target/product/a40-OKA40i_C/system/bin$ adb root forlinx@forlinx:~/android/android/out/target/product/a40-OKA40i_C/system/bin$ adb remount #使用如下命令将可执行文件push到开发板中 adb push tinyplay /system/bin/ adb push tinycap /system/bin/ adb push tinymix /system/bin/ 如图在开发板中已经可以正常使用这些工具 至于这些命令的具体用法可以去参考已有的应用笔记或者网上总结的方法。 2. 直接编译进镜像 我们也可以参考编译手册5.3.2Android全编译的章节内容,编译完的镜像会将这些工具放进文件系统中 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-25 09:05
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.