armlinux编译adb,交叉编译armLinux环境下的android-tools-
adb
前⾔
开发环境为Ubuntu1604。
⼀、下载桌⾯版Ubuntu1604的如下源码包:android-tools-adb,openssl,zlib。
注意:交叉编译armhf平台的adb⼯具,本地必须安装openssl和zlib库,直接⽤apt install是不⾏的,因为交叉编译时需要链接arm版本的库。最终交叉编译出来的openssl和zlib库,需要拷贝到本地/usr/arm-linux-gnueabihf/lib/⽬录下。
⼆、下载arm-linux-gcc交叉编译⼯具链。
三、交叉编译openssl和zlib库。
3)交叉编译openssl库。
1. ⾸先在终端命令⾏中运⾏配置命令(此步骤已经做过,不需要再做,可直接从第3步做起。当然有兴趣
折腾的话,可以⾃⼰再配⼀次):./config no-asm -shared --prefix=$PWD/output/
说明:no-asm 在交叉编译过程中不使⽤汇编代码代码加速编译过程。
-shared ⽣成动态链接库。
--prefix 指定安装编译⽣成⽂件的路径,如不指定则默认为当前⽬录。
2. 其次修改当前⽬录下的 Makefile ⽂件(此步骤也已经做过,不需要再做,可直接从第3步做起。有兴趣⾃⼰折腾的话,可以⾃⾏配置修改):
到Makefile中有 “-m64” 的地⽅,全删之(共2处)。
3. 最后,在终端命令⾏⾥⾯执⾏编译和安装命令:make && make install
运⾏完毕后,会在当前⽬录下⽣成⼀个 “output” ⽬录,⽣成的交叉编译库⽂件、可执⾏⽂件和头⽂件等均在此⽬录下。
将 “output/lib” ⽬录下的 “libcrypto” 和 “libssl” 开头的库⽂件全部复制到 “/usr/arm-linux-gnueabihf/lib/” ⽬录下即可。
参考链接:
2)交叉编译zlib库。
1. ⾸先在终端命令⾏中运⾏命令指定编译器:export CC=arm-linux-gnueabihf-gcc
2. 其次运⾏配置命令:./configure --prefix=$PWD/output
说明:--prefix 指定安装编译⽣成⽂件的路径,如不指定则默认为当前⽬录。
3. 最后,在终端命令⾏⾥⾯执⾏编译和安装命令:make && make install
运⾏完毕后,会在当前⽬录下⽣成⼀个 “output” ⽬录,⽣成的交叉编译库⽂件、可执⾏⽂件和头⽂件等均在此⽬录下。
将 “output/lib” ⽬录下的 “libz” 开头的库⽂件全部复制到 “/usr/arm-linux-gnueabihf/lib/” ⽬录下即可。
linux下gcc编译的四个步骤参考链接:
四、交叉编译android-tools-adb⼯具。
直接复制 android-tools-adb 源码包中 debian/makefiles ⽬录下的 adb.mk 到 core/adb ⽬录下,并改名为 Makefile 。然后在终端命令⾏中运⾏ export CC=arm-linux-gnueabihf-gcc 然后再运⾏ make 命令,即可编译⽣成 armhf 平台对应的 adb 可执⾏⽂件。
将⽣成的 adb 可执⾏程序拷贝到3399⽬标板 /usr/bin/ ⽬录下,经验证,可以使⽤完整的 adb 调试命令。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论