<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Calvin's Tech Space

    成于堅(jiān)忍,毀于浮躁

       :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
    我們可以通過兩種方式進(jìn)入Android的console:

    1. 直接執(zhí)行命令emulator -shell;

    2. 在啟動(dòng)emulator后,通過命令adb shell進(jìn)入。

    之后我們就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自帶的toolbox(位于/system/bin中)也太簡(jiǎn)略了點(diǎn),有些命令如find,Android并不支持或者支持得不好。下面將介紹如何為Android加入busybox工具,通過編譯得到一個(gè)可以在Android里面運(yùn)行的busybox工具,我們就可以使用眾多常見的linux命令了,如find,touch等。

    步驟如下:

    1. 首先去busybox主頁(yè) 下載最新版本的busybox源代碼.

    2. 下載交叉編譯工具: GNU Toolchain for ARM Processors

        下載地址:http://www.codesourcery.com/gnu_toolchains/arm/download.html

        其中第一項(xiàng)選擇ARM EABI或ARM GNU/Linux,第二項(xiàng)選擇IA32 GNU/Linux TAR即可。

        最后得到一個(gè)arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件

        將壓縮包解壓到linux下某個(gè)目錄, 并設(shè)置好環(huán)境變量, 使之能找到前綴為"arm-none-linux-gnueabi-"的交叉編譯工具.

    3. 進(jìn)入busybox源碼目錄.

         先執(zhí)行make menuconfig命令對(duì)編譯過程進(jìn)行配置.  過程如下:

         Busybox Settings -> Build Options ->

         [*] Build BusyBox as a static binary (no shared libs) 這個(gè)要選上,因上這樣子編譯出來的busyBox才是可以獨(dú)立運(yùn)行的。
         (/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cross Compiler prefex 這是交叉編譯器的"路徑+前綴",要根據(jù)具體的情況來設(shè)置。
         Busybox Settings -> Installation Options->
         [*] Don’t use /usr        這樣子編譯出來的busybox才不會(huì)安裝到你主機(jī)的/usr目錄下。一定要選上。

    4 執(zhí)行make編譯源碼.  如果編譯過程中產(chǎn)生無法找到頭文件的錯(cuò)誤, 可指定交叉編譯器用到的頭文件所在路徑. 如

       $make -I./home/jo/tool/arm-2008q3/arm-none-linux-gnueabi/libc/usr/include/

    5 編譯成功后將得到一個(gè)名為busybox的可執(zhí)行文件.

    6 在Android的console下建立目錄/data/busybox, 并使用下面的命令將文件busybox復(fù)制該目錄中:

       adb push busybox /data/busybox

    7 從Android的console進(jìn)入/data/busybox目錄, 為可執(zhí)行文件busybox加上可執(zhí)行屬性: chmod +x busybox

    8 這時(shí)我們就可以使用busybox工具了, 如果希望在任何目錄下都可以直接使用bosybox,則需要將路徑/data/busybox export到path環(huán)境變量中:

       export PATH=$PATH:/data/busybox

    9 設(shè)置環(huán)境變量之后, 在命令行輸入busybox, 即可看到其用法, 如:

       在當(dāng)前目錄及其子目錄中查找名為init.rc的文件可使用以下命令:

       $busybox find . -name init.rc

    10 安裝busybox。

       通過執(zhí)行./busybox --install -s 我們會(huì)看到出現(xiàn)一些錯(cuò)誤, 原因是因?yàn)锳ndroid系統(tǒng)的根目錄和/sbin目錄是只讀的.  因此我們無法把一些常用命令安裝到/bin目錄下, 也不能修改/init.rc文件來設(shè)置PATH環(huán)境變量.

       對(duì)于如何執(zhí)行命令busybox --install -s 的默認(rèn)安裝路徑, 這里我還不太清楚, 或許跟Makefile和編譯busybox的相關(guān)設(shè)置有關(guān).

       盡管我們不可以在Android里面通過執(zhí)行busybox --install -s 命令來安裝常用命令, 我們卻可以通過另外一個(gè)方法來把常用命令安裝到Android里面.  

       方法很簡(jiǎn)單, 可以先在外面的linux系統(tǒng)中執(zhí)行make install命令把相關(guān)的命令提取出來. 然后再通過命令adb push ./_install/bin /data/busybox/bin 把這些常用命令復(fù)制進(jìn)Android系統(tǒng)中. 注意: make install安裝命令的所在路徑可通過執(zhí)行make menuconfig進(jìn)行設(shè)置, 默認(rèn)為./_install目錄下面.

       這樣,我們就不用每次使用busybox提供的一個(gè)命令時(shí), 都要在前面加上busybox了.

    11 修改/init.rc文件設(shè)置環(huán)境變量.

         請(qǐng)參考帖子: 對(duì)Android啟動(dòng)過程的進(jìn)一步研究

         要提醒的是, 修改PATH環(huán)境變量的時(shí)候, 應(yīng)該把busybox常用命令的路徑"/data/busybox/bin"放在Android的常用命令路徑"/system/bin"的前面, 否則, 先查找得到的將不是busybox的命令,  可以這樣設(shè)置:

         export PATH /data/busybox/bin:/sbin:/system/sbin:/system/bin:/system/xbin

    轉(zhuǎn)自http://blog.csdn.net/liaoshengjiong/archive/2009/03/05/3957725.aspx
    posted on 2010-03-21 01:06 calvin 閱讀(2020) 評(píng)論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 亚洲熟妇中文字幕五十中出| 成人亚洲综合天堂| 亚洲一区二区影院| 全免费a级毛片免费看| 久久精品亚洲综合专区| 中文字幕成人免费视频| 亚洲首页在线观看| 一本岛高清v不卡免费一三区| 91亚洲精品麻豆| 日韩免费无砖专区2020狼| 亚洲国产欧美日韩精品一区二区三区| 在线日韩av永久免费观看| 免费无码又爽又黄又刺激网站| 久久综合亚洲色HEZYO国产| 中国黄色免费网站| 久久av无码专区亚洲av桃花岛| 在线视频精品免费| 亚洲午夜成人精品无码色欲| 日本不卡免费新一二三区| 一级毛片在播放免费| 亚洲精品无码mv在线观看网站| 一级毛片免费观看不卡视频| 亚洲午夜久久久久久尤物| 国产精品免费小视频| 免费萌白酱国产一区二区三区 | 国内免费高清在线观看| 亚洲欧美第一成人网站7777 | 亚洲国产AV无码专区亚洲AV| 2021精品国产品免费观看| 亚洲AV成人一区二区三区在线看| 国产免费观看黄AV片| 最好免费观看高清在线| 国产成人精品日本亚洲专一区| 亚洲精品tv久久久久| 毛片无码免费无码播放| 日韩亚洲人成网站| 亚洲AV无码专区亚洲AV伊甸园| 黄瓜视频影院在线观看免费| 一级做a爰片久久免费| 亚洲成人免费网址| 亚洲日韩国产一区二区三区|