为Android构建Rsync

为Android构建Rsync,android,build,rsync,Android,Build,Rsync,我已从下载rsync 有人知道如何编译要部署在Android设备中的源代码吗?您需要找到Android NDK 网页和下载中包含了如何为Android编译C代码的示例 从 NDK提供: 用于生成本机代码库的一组工具和生成文件 从C和C++源 一种嵌入相应本机文件的方法 将库存储到可以部署的应用程序包文件(.apk)中 在Android设备上,一组本机系统头和库 将在Android平台的所有未来版本中得到支持, 从安卓1.5开始。使用本机活动的应用程序 必须在Android 2.3或更高版本上运行

我已从下载rsync
有人知道如何编译要部署在Android设备中的源代码吗?

您需要找到Android NDK 网页和下载中包含了如何为Android编译C代码的示例

NDK提供:

用于生成本机代码库的一组工具和生成文件 从C和C++源 一种嵌入相应本机文件的方法 将库存储到可以部署的应用程序包文件(.apk)中 在Android设备上,一组本机系统头和库 将在Android平台的所有未来版本中得到支持, 从安卓1.5开始。使用本机活动的应用程序 必须在Android 2.3或更高版本上运行。文件、样本和 教程


我还发现它是否接近您想要实现的目标。

您可以在不使用NDK的情况下编译,假设您静态链接。这在Ubuntu 13.04 Raring Ringtail上对我有效

安装交叉编译器:

sudo apt-get install gcc-arm-linux-gnueabi
下载rsync:

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar -zxv -f rsync-3.0.9.tar.gz
cd rsync-3.0.9
使用静态链接,使用交叉编译器编译:

./configure --host=arm-linux-gnueabi CFLAGS="-static"
make
在静态链接的应用程序中使用X会得到一些警告,在运行时需要使用glibc版本中用于链接的共享库。但到目前为止,rsync为我工作

最后,安装到手机上(假设您使用的是SSHDroid):


谢谢你的快速回复。我已经下载了NDK。我想做的是把rsync源代码编译成一个可执行的二进制文件,这样我就可以在java代码中调用这个二进制文件。我认为这是很难实现的,就我个人而言,我会看看是否可以将代码制作成一个库并以这种方式使用它。我在上面的答案中包含了一些链接和信息。嗨,克鲁布,对不起,我没有注意到你答案的第二个链接。我也偶然发现了那个网站。但我最终使用NDK提供的交叉编译器编译代码。谢谢。请注意,您必须将二进制文件移动到/data(例如,/data/local/tmp),并使其在运行之前可执行(chmod 0777 rsync)。二进制文件是什么。您能帮我吗
scp -P 2222 rsync root@$PHONE_IP:/data/data/berserker.android.apps.sshdroid/dropbear