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

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

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

    隨筆 - 22  文章 - 467  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(25)

    隨筆分類(74)

    文章分類(1)

    收藏夾(277)

    在線工具

    在線資料

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 218196
    • 排名 - 261

    最新評論

    閱讀排行榜

    評論排行榜

    下面的內(nèi)容是在看過了很多的文章還有經(jīng)過了很多的嘗試之后得出的總結(jié), 也作為自己以后可能重復這個過程的筆記.
    從哪里引用到的內(nèi)容都加上鏈接了.歡迎大家討論.

    首先下載并編譯Android源碼是必須的, 這就要求你必須要安裝Linux, 我自己用的是Ubuntu 11.04,
    在虛擬機裝Ubuntu的話, 我給1個G的內(nèi)存而已, 感覺已經(jīng)是足夠了, 不像網(wǎng)上說的需要至少1.5個G,
    因為我的內(nèi)存只有2G,如果分給虛擬機1.5的話,反而會卡得完全動不了.

    而且整個過程我都是在root下執(zhí)行的, 如果不是root, 建議使用sudo -sH來進行以下所有操作.
    雖然官方是要求64位的操作系統(tǒng)才能編譯, 但是我用的是32位的, 如何修改我會在下文說明.
    還有一個問題是只有用Ubuntu 11.04這個特定版本編譯的時候才會出現(xiàn)的,不知道會不會在新版的源碼已經(jīng)被修復了,
    如果編譯的時候出現(xiàn)出現(xiàn)的"field 'arch' has incomplete type"錯誤可以看我之前的這篇文章:
    ( http://m.tkk7.com/jayslong/archive/2011/05/12/fix_the_problem_that_android_source_code_wont_compile_in_ubuntu_11_04.html )


    具體如何repo獲取源碼網(wǎng)上到處都是教程,我就不說了.嚴格按官方的教程來是沒問題的.
    另外提醒一點,repo的時候用參數(shù) "-j 數(shù)字" 可以使用多線程下載.

    需要注意的一點的還有很多教程還在說必須用JDK1.5 編譯源碼, 1.6編譯SDK之類的,
    其實是已經(jīng)不需要了, 最新版的Android 只要直接裝sun-java6-jdk就好了. (apt-get找不到就更新你的源或者直接去官網(wǎng)下)

    然后如果你用的是32位的Linux, 編譯之前必須做如下修改: (方法來自: http://blog.csdn.net/yihui8/archive/2011/03/10/6237433.aspx )


    .
    /external/clearsilver/cgi/Android.mk 
    .
    /external/clearsilver/java-jni/Android.mk 
    .
    /external/clearsilver/util/Android.mk 
    .
    /external/clearsilver/cs/Android.mk

    四個文件中的
    LOCAL_CFLAGS 
    += -m64 
    LOCAL_LDFLAGS 
    += -m64 
    注釋掉,或者將“
    64”換成“32
    LOCAL_CFLAGS 
    += -m32 
    LOCAL_LDFLAGS 
    += -m32 

       然后,將
    .
    /build/core/main.mk 中的
    ifneq (
    64,$(findstring 64,$(build_arch))) 
    改為:
    ifneq (i686,$(findstring i686,$(build_arch))) 


    做完以上修改之后, 就可以開始編譯源碼了, cd到源碼根目錄下, 打"make". 然后去看場電影吧. 回來就編好了..
    這一步會在android/out/target/product/generic/下面生產(chǎn)3個后綴為img的文件,建議拷貝一份出來吧,
    我就遇到過這幾個文件莫名消失結(jié)果需要重新make的情況.

    然后回來如果你愿意的話,再執(zhí)行一下make sdk. 具體查看這里的第6和第7點吧.
    ( http://blog.csdn.net/jackyu613/archive/2010/07/31/5778646.aspx )
    如果你跟我一樣只需要自己修改并編譯和測試系統(tǒng)app, 是不需要make sdk這一步的

    然后工作之前需要配置一下環(huán)境變量:  

    gedit ~/.bashrc 注意修改成你自己放源碼的路徑, 將以下2行添加到文件末尾:

    export PATH
    =$PATH:/home/xxx/android/out/host/linux-x86/bin
    export ANDROID_PRODUCT_OUT
    =/home/xxx/android/out/target/product/generic

    最后記得執(zhí)行一下
    source ~
    /.bashrc


    并且在源碼根目錄下執(zhí)行一下:

    . build/envsetup.sh

    會幫你啟用幾個新的命令.比如下面我們要用到的"mmm"

    然后就可以去修改你想要修改的系統(tǒng)app了, 全部都在android/packages下面.
    具體修改的例子我會另外寫一個文章來說,這次先說整個流程吧.
    參考自( http://www.devp.com/home.php?mod=space&uid=11248&do=blog&id=1040 )

    比如我修改的是系統(tǒng)的英文輸入法, 位于android/packages
    修改完后直接在android目錄下執(zhí)行, 指定到包含有Android.mk文件的目錄就對了 :

    mmm packages/imputmethods/LatinIME/

    很快就會編譯好了
    (千萬不要在根目錄不加任何參數(shù)直接執(zhí)行"mmm",不然你會后悔的,這等同于之前花了好長時間的"make")

    然后就要把編譯好的文件安裝到模擬器中, 你可以之前就啟動了模擬器, 也可以現(xiàn)在才啟動, 都可以的,
    安裝前后也不需要重啟模擬器, 執(zhí)行了adb install 直接可以看到效果.

    啟動模擬器可以在android/out/target/product/generic/ 下直接執(zhí)行這個命令:

    emulator -image system.img -data userdata.img -ramdisk ramdisk.img

    然后用這個命令把自己編譯好的apk文件傳入模擬器:  

    adb install -/home/xxx/android/out/target/product/generic/system/app/***.apk

    到這里基本就可以實現(xiàn)整個修改和調(diào)試系統(tǒng)app的流程啦,
    其實前面都是一勞永逸的環(huán)境配置工作,實際上一直要用到的就是mmm和adb install -r 這兩個命令而已

    因為有些系統(tǒng)app涉及到jni的部分, 在Eclipse下面查看項目是會出錯的, 我也不知道怎么實現(xiàn)在Eclipse正常調(diào)試,
    所以只能是在文本編輯器里直接修改再install到模擬器里查看效果.

    posted on 2011-05-17 12:10 ApolloDeng 閱讀(6559) 評論(3)  編輯  收藏 所屬分類: 分享筆記AndroidLinux

    FeedBack:
    # re: 分享在Linux下編譯Android源代碼并修改調(diào)試系統(tǒng)自帶應用的方法 2011-05-17 16:59 蕭渡
    從人人前來圍觀龍兄  回復  更多評論
      
    # re: 分享在Linux下編譯Android源代碼并修改調(diào)試系統(tǒng)自帶應用的方法 2011-05-17 19:20 Aloong
    @蕭渡
    噢! 歡迎歡迎哇哈哈...  回復  更多評論
      
    # re: 分享在Linux下編譯Android源代碼并修改調(diào)試系統(tǒng)自帶應用的方法 2011-12-10 21:28 淘寶靴子
    到這里基本就可以實現(xiàn)整個修改和調(diào)試系統(tǒng)app的流程啦,
    其實前面都是一勞永逸的環(huán)境配置工作,實際上一直要用到的就是mmm和adb install -r 這兩個命令而已

    因為有些系統(tǒng)app涉及到jni的部分, 在Eclipse下面查看項目是會出錯的, 我也不知道怎么實現(xiàn)在Eclipse正常調(diào)試,
    所以只能是在文本編輯器里直接修改再install
    試試看。  回復  更多評論
      
    主站蜘蛛池模板: 国产成人免费一区二区三区| 成人免费AA片在线观看| 亚洲精品无码久久不卡| 亚洲AV无码一区二区三区电影| 啦啦啦高清视频在线观看免费 | 久久久久免费看黄A片APP| 亚洲高清美女一区二区三区| 免费无码又爽又刺激高潮视频 | 亚洲AV天天做在线观看| 麻豆精品成人免费国产片| 亚洲国产精品久久久久| 99在线在线视频免费视频观看| 亚洲最大福利视频网站| 亚洲免费中文字幕| 亚洲欧洲日本在线观看| 日韩一级免费视频| 一级毛片免费毛片毛片| 精品久久久久久亚洲| 99爱在线精品视频免费观看9| 亚洲国产精品久久久久秋霞影院| 国产人在线成免费视频| 亚洲AV无码不卡无码| 91制片厂制作传媒免费版樱花| 亚洲人6666成人观看| 四虎影视在线永久免费观看| 国产美女视频免费观看的网站| 亚洲va在线va天堂va不卡下载| 亚洲免费在线观看视频| 国产亚洲漂亮白嫩美女在线| 亚洲色无码一区二区三区| 麻花传媒剧在线mv免费观看| 亚洲欧美日韩中文二区| 国产精品亚洲产品一区二区三区| 亚洲视频在线免费观看| 亚洲中文无码永久免| 亚洲中文字幕无码爆乳AV| 我们的2018在线观看免费高清| 野花视频在线官网免费1| 亚洲成年人在线观看| 特级淫片国产免费高清视频| 中文精品人人永久免费|