我有一个跨平台的C库,我需要为Android编译为* .so文件。该库由许多.c和.h文件组成,它使用autotools作为它的buid系统。 (./configure&& make dep&& make)。 Afaik,该库不依赖于其他库,除了libc和OpenSSL(它应该出现在Andriod上)。
我正在尝试找到最简单的(读取速度最快或者不需要阅读数百页的手册,然后应用try&&>失败的暴力方法来完成任务)关闭库的方法我的机器采用源代码形式,并作为.so进入Android手机。最终将从Java的本机库接口访问该库。对于开发,我的桌面上有Windows和Debian机器。
答案 0 :(得分:1)
如果你很幸运并且自动化项目设置正确,你可以通过运行进行交叉编译(这个例子是使用mingw对windows进行交叉编译,我不知道Android的前缀是什么):
./configure --host=i586-pc-mingw32
然后尝试查找前缀为i586-pc-mingw32-
的编译器,因此i586-pc-mingw32-gcc
可能是第一个找到并使用的编译器。对于Android devkit,请查看编译器二进制文件的调用内容并从中猜出主机值。
答案 1 :(得分:0)
我们最终手动创建了包含所有必需文件的Android NDK项目。