如何解决将C代码netcat编译为本机Android可执行文件
| 我正在编写一个bash脚本,该脚本使用Netcat通过网络连接提供帧缓冲区,但是首先我需要将其编译为本机可执行文件。我什至让该脚本在默认安装了netcat的Ubuntu机器上工作。 我发现了这个https://github.com/android/platform_external_netcat,但完全没有NDK经验。显然,这根本不使用JNI或Java,因此用于制作Android应用程序的默认方法无法帮助我。 问题是。如何从此源代码获取可执行文件?解决方法
在docs / STANDALONE-TOOLCHAIN.html下的Android sdk中查看,它描述了如何将ndk用作可以生成arm二进制文件的独立编译器。
, 如果其他人想知道,则来自NDK文档:
SYSROOT=$NDK/platforms/android-<level>/arch-<arch>/
export CC=\"$NDK/toolchains/<name>/prebuilt/<system>/bin/<prefix>gcc --sysroot=$SYSROOT\"
$CC -o foo.o -c foo.c
更具体地说,对于来自https://github.com/android/platform_external_netcat的netcat
SYSROOT=$NDK/platforms/android-19/arch-arm
CC=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT
$CC -DANDROID -c -o atomicio.o atomicio.c
$CC -DANDROID -c -o netcat.o netcat.c
$CC -o netcat atomicio.o netcat.o
适当替换来自SYSROOT和CC的路径。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。