C Android上的grep或find
默认情况下,Android 4.2.1上没有安装这些工具,因此是否可以交叉编译源代码,例如C Android上的grep或find,c,linux,android-ndk,C,Linux,Android Ndk,默认情况下,Android 4.2.1上没有安装这些工具,因此是否可以交叉编译源代码,例如grep或find,并在Android上运行?(最好无需启动设备或安装某些应用程序,例如busybox。)是否有任何缺失的依赖项可以防止这种情况发生?我正在Ubuntu 10.0.04上开发。我把它们放在/system/xbin/*上。也许在busybox上会更走运busybox-findbusybox-grep不确定busybox是否默认安装在Android 4.2tho上,但它是一个非常常见的二进制文件
grep
或find
,并在Android上运行?(最好无需启动设备或安装某些应用程序,例如busybox。)是否有任何缺失的依赖项可以防止这种情况发生?我正在Ubuntu 10.0.04上开发。我把它们放在/system/xbin/*
上。也许在busybox上会更走运busybox-find
busybox-grep
不确定busybox是否默认安装在Android 4.2tho上,但它是一个非常常见的二进制文件 这不是一个完整的答案,因为我没有尝试构建grep
或find
。然而,一般来说,为Android构建GNU实用程序是完全可能的。为此,最好的选择是:
/configure&&make
机制构建相关的GNU实用程序adb push
。您可能需要安排将它们放入/data/
的某个位置,因为/mnt/sdcard
通常被标记为不可执行
缺少依赖项
在实际构建过程中,您会发现的主要问题是Android没有使用标准GNUlibc
(glibc)。取而代之的是,它使用自己的,叫做仿生的。这确实遗漏了某些重要的API—例如,广泛的字符串支持
我发现对于一些GNU实用程序来说,这是可以的,它们只需对源代码进行最小的更改即可编译
然而,如果您遇到麻烦,您可能最好使用这些实用程序的其他版本,这些版本通常设计为在底层libc方面具有更大的灵活性。具体来说,前面关于使用
busybox
的建议非常好。如果您不想从Android market安装它,您可以找到源代码。我也使用busybox来实现“grep”功能。。。但如果我从/->根位置搜索所有子目录,它就会像挂起一样停止。你有没有经历过这样的@ablm?最好的答案是你应该在你的android上安装framaroot。那么任何根本行动都可以@cyberSecurity