• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            life02

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              197 隨筆 :: 3 文章 :: 37 評(píng)論 :: 0 Trackbacks

            http://quanminchaoren.iteye.com/blog/836905


            此文不同于官方文檔給出的方案,之所以如此,基于以下考慮幾點(diǎn)考慮:我們之所以拿源碼進(jìn)行增量開發(fā),一般而言,不是為了整個(gè)工程,而是為了其中某個(gè)特定的模塊,比如說(shuō) ContactsLuancher 等;其次,官方方案有一個(gè)巨大的缺陷——優(yōu)化后的模塊打包成 apk 很有可能無(wú)法在其他系統(tǒng)上安裝,因?yàn)樗邢到y(tǒng)權(quán)限,并且一直簽 rom 的簽名,而這個(gè)簽名在其他系統(tǒng)上是拿不到的。換句話說(shuō),除非你想做嵌入式,否則別這么干。

            具體步驟:

            編譯源碼:由于這些模塊依賴的包中有一部分是不開放的,所以,只能把整個(gè)源碼編譯一遍,然后拿出相關(guān)的 jar 包。

            關(guān)于如何編譯源碼網(wǎng)上有很多說(shuō)明,都是用 git 把源碼下載下來(lái)( 4G 左右),然后配下相應(yīng)的編譯環(huán)境。請(qǐng)參照: JustinBuild Android Platform 。通常會(huì)遇到一些錯(cuò)誤,編譯停止,這些錯(cuò)誤通常都是一些庫(kù)函數(shù)找不到,這時(shí)候你只需要將相應(yīng)的庫(kù)函數(shù)下載下來(lái),也就是完善一下你的編譯環(huán)境,比如說(shuō)這個(gè)錯(cuò)誤:“

            /usr/bin/ld: cannot find -lz

            collect2: ld returned 1 exit status

            make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1

            這個(gè)錯(cuò)誤我曾經(jīng)試了很多種方法,最后才發(fā)現(xiàn)就是

            缺少 lib32z1-dev, 安裝即可 :apt-get install lib32z1-dev

            源文檔 < http://0123.blog.163.com/blog/static/47883120101024104416786/ >

            所以,如果有相應(yīng)的錯(cuò)誤,就把 cannot find 后面那個(gè)東西,去掉“ -l ”,也就是相應(yīng)的庫(kù)函數(shù)了,如上面就是缺少了 z 函數(shù)。然后上網(wǎng)搜。

            另外,據(jù)說(shuō)我比較好運(yùn)用的是 64 位系統(tǒng) Ubuntu ,且內(nèi)存比較大, CPU 也比較 OK ,所以編譯時(shí)錯(cuò)誤比較少,編譯時(shí)間也比較短,大概 1 個(gè)鐘,而一般來(lái)說(shuō)都要 2 個(gè)鐘,所以大家做好心理準(zhǔn)備。

            有相關(guān)編譯問(wèn)題請(qǐng)咨詢: ernest.he2009@gmail.com

            開始 Eclipse 之旅:

            找到相關(guān) jar 包,這個(gè)你如果熟悉 Java 肯定很容易就知道, Android 中不開放的包一般在 frameworks 底下很容易找到,具體路徑就是: out/target/common/obj/JAVA_INTERMEDIATE/frameworks_intermediate ,拿到 class.jar 就可以了。但是在 Contacts 中比較特殊,需要另一個(gè) phone 包,這個(gè)一樣可以拿到。

            關(guān)鍵是拿到之后怎么辦的問(wèn)題。處理不當(dāng)就會(huì)造成 Eclipse 掛掉。這里就需要通過(guò) User Libraries 來(lái)解決(參照下面的解決方案)。

            這樣開發(fā)環(huán)境建立起來(lái)以后就是編譯了。為了能夠成功編譯運(yùn)行。請(qǐng)參照以下解決方案:

            解決方案

            分享到:

            posted on 2011-12-24 23:37 life02 閱讀(105) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Android開發(fā)
            91精品国产色综久久| 99精品久久久久久久婷婷| 久久精品国产亚洲77777| 久久超碰97人人做人人爱| 久久美女网站免费| 亚洲国产精品成人AV无码久久综合影院 | 欧美久久久久久午夜精品| 亚洲国产精品无码久久青草 | 久久久久亚洲av成人网人人软件| 亚洲午夜久久久久久久久电影网| 国产精品久久久久AV福利动漫| 色综合久久中文综合网| 久久99精品久久久大学生| 99久久精品无码一区二区毛片| 狠狠色丁香久久婷婷综合_中| 狠狠色丁香婷综合久久| 无码人妻久久一区二区三区蜜桃 | 91精品国产高清久久久久久91| 国产免费久久精品99re丫y| 久久综合九色综合久99| 亚洲综合伊人久久综合| 国产999精品久久久久久| 国内精品伊人久久久久av一坑 | 久久久久一本毛久久久| 久久水蜜桃亚洲av无码精品麻豆| 热综合一本伊人久久精品| 一本久久久久久久| 久久九九全国免费| 国产午夜免费高清久久影院| 亚洲精品无码专区久久久| 中文字幕无码久久久| 久久久久综合国产欧美一区二区| 国产精品久久久久影视不卡| 中文国产成人精品久久不卡| 狠狠色丁香婷婷久久综合五月| 久久久久久青草大香综合精品| A级毛片无码久久精品免费| 久久综合综合久久狠狠狠97色88| 99精品国产在热久久| 久久人人爽人人爽人人AV| 日韩精品久久久久久免费|