近期公司安卓app测试,分配任务为监控APP内存、CPU占用率。因安卓是基于linux开发,故很容易就联想使用Linux监控相关的命令。想法总是美好的,现实总是残酷的,使用三星 Galaxy Note II N7108测试时发现,很多linux命令没有,用起来很不爽。

例:

C:\Documents and Settings\Findyou>adb shell
shell@android:/ $ grep
grep
/system/bin/sh: grep: not found

(图1)

通过网络搜索发现了Busybox,下文主要针对三星N7108(Android 4.1.2)安装Busybox进行说明。


一、BusyBox简介    

  BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。(摘自百度百科http://baike.baidu.com/view/1429588.htm

二、安装BusyBox准备

1、Root 三星N7108(Android 4.1.2)

2、下载BusyBox的binary

3、PC机安装Android SDK

1、Root 三星N7108(Android 4.1.2)

a.PC端工具:360一键Root  http://shuaji.360.cn/root/

手机打开USB调试,连上PC机,点360一键Root程序,按步骤走即可。

b.Root相关问题:

1). 三星N7108(Android 4.1.1)可以用Framaroot进行Root,也很简单

解决:Findyou亲测,如果不知道搜索下Framaroot就有教程,下载地址http://forum.xda-developers.com/showthread.php?t=2130276

2).Root失败,手机一直重启进不了系统,哥就碰到了绿豆刷机神器(V5.5.0.0)把机器三星N7108(Android 4.1.1)给root挂了,怎么整都进不了系统。

解决:上三星官网下载Samsung Kies,在软件里点击”工具“》“紧急固件恢复”或者“固件升级和初始代”,哥试了后者,成功把手机给升到4.1.2,哈哈,手机就此满血满状态重生。

2、下载BusyBox的binary

a.下载地址:  http://www.busybox.net/downloads/binaries

选择最新版本,然后下载对应你的设备架构的版本,三星N7108为ARMV7处理器(详见文章开头的 图1),故我下载了busybox-armv7l。

b.下载后将busybox-armv7l重命名为busybox。

(图2)

3、PC机安装Android SDK 

a.下载地址:http://developer.android.com/tools/sdk/tools-notes.html

下载安装较为简单,解压即可,为了方便,可以添加环境变量,以便cmd方便操作

b..Android SDk相关

1).ADT下载:http://developer.android.com/sdk/index.html

不建议仅下载SDK Tools工具,建议下载ADT,内置Eclipse + ADT plugin+Android SDK等,偶尔看看源码也不错。

三、安装BusyBox

 1、手机开启USB调试模式后,连接电脑;

(图3)

2、将busybox拷入手机的SD卡,使用下面的CMD命令或自己想其他办法;

adb push E:\busybox /storage/sdcard0
注:busybox文件存放在E盘根目录,目标路行为SD卡

(图4)

注: $ll sdcard   --查看SD卡真实的路径,命令也可输入: $ls -al sdcard

3. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限

a.进入CMD执行以下命令:adb shell

b.切换至root,将文件从SD卡拷贝到/system/xbin目录下

c.进入xbin下,给busybox加可执行权限

d.安装busybox到目标目录

C:\Documents and Settings\Findyou>adb shell
$su
#cat /mnt/sdcard/busybox>/system/xbin/busybox
#cd /system/xbin
#chmod busybox
#busybox --install .

至此busybox已安装完毕。

小技巧:

1.android系统本身就有ls命令,输入ls时调用的仍是android的ls

a.可使用别名替换原有的系统ls

$alias ls='busybox ls'

b.可以将path变量中的/system/xbin设置在/system/bin前

c.可以将/system/bin中的ls移走,使用以下命令新建ls

$ln -s busybox ls

2. busybox ls乱码问题为显示模式问题,可使用以下命令解决

$alias ls='ls --color=never'
$alias ll='ls -la --color=never'
或者
$alias ls='busybox ls --color=never'
$alias ll='busybox ls -la --color=never'

Android安装BusyBox(三星N7108)的更多相关文章

  1. android安装busybox

    大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在Android上使用较完整的shel ...

  2. 为Android安装BusyBox

    大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在 Android上使用较完整的she ...

  3. [Android Pro] Android 手机root 并 安装 BusyBox pro 和 Android Terminal Emulator

    Android root 工具:http://www.z4root.cn/yijianrootshouji/ 推荐的是:root精灵手机版 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说 ...

  4. 给Android系统安装busybox

    转自:http://blog.csdn.net/lxgwm2008/article/details/38925051 busybox号称Linux平台的瑞士军刀,它集成了100多个最常用的Linux命 ...

  5. Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒

    http://www.51itong.net/android-badgenumber-9789.html Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒 ...

  6. 关于华为P9手机的解锁、刷Recovery、获取Root、安装Busybox,以及升级降级的全过程(和一些错误的解决方法)

    我有一部华为P9手机,型号EVA-TL00,属于移动定制机.用了半年多了,想给手机添加一些功能,发现有些功能必须Root之后才能用代码实现,所以动了Root的打算. 一.手机解锁.(不解锁则无法对手机 ...

  7. 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  8. Android - 安装 windows 7 安装 Android SDK 的时候出现的问题!(Connection to https://dl-ssl.google.com refused)

    Android - 安装 windows 7  安装 Android SDK 的时候出现的问题! 首先看到 Connection to https://dl-ssl.google.com refuse ...

  9. vs2015 Xamarin.Android安装

    原文:vs2015 Xamarin.Android安装 Xamarin.Android 安装步骤,以vs2015为例 1,安装vs2015中的跨平台项,但是安装在国内肯定失败,因为需要到谷歌下载 当我 ...

随机推荐

  1. [OLE DB 源 [1]] 警告: 无法从 OLE DB 访问接口检索列代码页信息。如果该组件支持“DefaultCodePage”属性,将使用来自该属性的代码页。如果当前的字符串代码页值不正确,请更改该属性的值。如果该组件不支持该属性,将使用来自该组件的区域设置 ID 的代码页。

    SSIS的警告信息,虽然不影响使用,但是对于一个有强迫症的人来说,实在痛苦, 解决办法:控件右键--属性--AlaywayseUseDefaultCodePage 修改成True即可,默认为False

  2. 解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译)

    解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译) http://improve.dk/corrupting-databases-purpose-usin ...

  3. MVC 伪静态

    1.config <system.webServer> <validation validateIntegratedModeConfiguration="false&quo ...

  4. A Silverlight Bug ?

    昨日在写Silverlight程序的时候,遇到一个问题,感觉是Silverlight的Bug.使用版本是Silverlight5.异常信息如下: 行: 56错误: Silverlight 应用程序中未 ...

  5. [你必须知道的NOSQL系列]专题二:Redis快速入门

    一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这 ...

  6. 谁能完全搞懂Visual Studio的安装项?

    大家都知道,Visual Studio绝对不是“一个程序”那么简单,不管哪个版本,安装好之后总会在“删除程序”中生成一大堆你或懂或不懂的东西.但很少人关注过究竟包括哪些东西.我最近装了一次Visual ...

  7. 深入探究js中无所不在的this

    黄金守则: this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window而当函数被作为某个对象的方法调用时, this等于那个对象. 下面是一些相关实践: --------- ...

  8. JS闭包中的this对象

    我们知道,当函数被作为某个对象的方法调用时,this等于那个对象,不过,匿名函数的执行环境具有全局性,因此其this对象通常指向window. 下面代码很好的说明了这一点: var name = 'T ...

  9. Sqlserver 如何获取每组中的第一条记录

    在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据. 例子 我们要从上面获得的有效 ...

  10. 把 Notepad++ 打造成一款易用的C#脚本编辑器

    以前一直用Linqpad在写小程序脚本,但是Linqpad自动完成功能要收费,且不开源,这样的话就不方便扩展了.今天在 http://csscriptnpp.codeplex.com/ 发现了一款C# ...