3
8
2014
9

编译 Android 版 htop

本文来自依云's Blog,转载请注明。

编译完 lsof,却发现 htop 还是不能用……另开一个终端 strace 之,才知它竟然在调用 /bin/sh 而不是 /system/bin/sh。检查之,原来这个 htop 来自 Terminal IDE,是一个静态链接的版本,大概是使用 glibc 的吧,所以才会去标准位置寻找命令解释器。

编译过程:

path+=/opt/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin
mkdir android-build && cd android-build
CFLAGS='-I/ldata/media/temp/android/installed_binaries/include/ncurses -I/ldata/media/temp/android/installed_binaries/include' LDFLAGS=-L/ldata/media/temp/android/installed_binaries/lib CC='arm-linux-androideabi-gcc --sysroot=/opt/android-ndk/platforms/android-18/arch-arm' ../configure --host=arm-linux-gnu --prefix=/system --bindir=/system/xbin --disable-unicode
rm ../config.h

然后修改当前目录中的 config.h 文件,注释掉 HAVE_NATIVE_AFFINITY 行,添加两个 syscall 的定义,即:

// #define HAVE_NATIVE_AFFINITY 1
#define SYS_ioprio_get __NR_ioprio_get
#define SYS_ioprio_set __NR_ioprio_set

继续 make 即可。

编译好的 htop 可由此下载

Category: Android | Tags: Android 交叉编译 | Read Count: 6793
Star Brilliant 说:
Mar 08, 2014 11:50:47 PM

po主编译了好多Android下的命令行软件啊。

Avatar_small
依云 说:
Mar 08, 2014 11:54:28 PM

缺什么编译什么 =w=

Avatar_small
wenlong 说:
Mar 09, 2014 02:12:32 AM

呃。。。求编译dig(BIND)
感谢

Avatar_small
依云 说:
Mar 09, 2014 02:12:57 PM

头像我喜欢,所以附赠另两个工具 :-)

下载地址:http://lilyshare.b0.upaiyun.com/binary/android/dig-host-nslookup-9.9.2-P2.7z

编译时没什么坑,打上 Arch 官方 patch 以不编译其它东西后,只需要弄好的 configure 命令即可:
BUILD_CC=gcc CC='arm-linux-androideabi-gcc --sysroot=/opt/android-ndk/platforms/android-18/arch-arm' CXX='arm-linux-androideabi-g++ --sysroot=/opt/android-ndk/platforms/android-18/arch-arm' ../configure --host=arm-linux-gnu --prefix=/system --bindir=/system/xbin --enable-epoll --without-openssl --without-gssapi --disable-static --with-randomdev=/dev/urandom

Avatar_small
wenlong 说:
Mar 09, 2014 02:36:27 PM

压缩文件损坏的说。。7z 跟 rar 都试过了,下载了好多遍也都是损坏的打不开。。。

Avatar_small
依云 说:
Mar 09, 2014 03:14:02 PM

囧,少传了 3K……
已经更新,新地址 http://lilyshare.b0.upaiyun.com/binary/android/dig-host-nslookup-9.9.2-P2.2.7z
md5sum cd162cfd83fd7bc1a060ff88d472d82d

看来以后得使用 HTTP + md5 校验上传了喵……

gosw 说:
Jun 29, 2014 02:58:11 PM

请问一下,我是手机是Android 4.2.2 系统的,下载你的编译好的二进制包lsof, htop 之类的可以用吗?
如何将这些编译好的二进制文件放到Android 平台, 放在哪个目录,能写一个升级步骤给我吗? 谢谢

因类我试着将它下载下来,放到/system/bin/目录,运行不了呀!

Avatar_small
依云 说:
Jun 30, 2014 03:22:44 PM

可能是版本问题。你是怎么运行的?报错信息是什么?


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

部分静态文件存储由又拍云存储提供。 | Theme: Aeros 2.0 by TheBuckmaker.com