• <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>
            隨筆-3  評(píng)論-13  文章-10  trackbacks-0
              2013年1月22日
            google推薦的編譯環(huán)境是在Ubuntu LTS(10.04),但是最新版本12.10已經(jīng)出來(lái),沒(méi)必要在舊版本上做文章了
            對(duì)于2.3.X和更新的版本,需要64位的系統(tǒng),之前的老版本2.2以下(包括2.2)可以在32位版本上編譯
            對(duì)于虛擬機(jī),官網(wǎng)上寫的虛擬機(jī)配置參數(shù):16G RAM/swap & 30G+ 硬盤空間
            PS: 全部編譯完畢后,才發(fā)現(xiàn)真的很耗空間
            源代碼下載/編譯完成后,磁盤空間一共是33G
            $ du -h --max-depth=1 ./4.2/
            4.2M    ./4.2/bootable
            120K    ./4.2/libnativehelper
            282M    ./4.2/packages
            88M    ./4.2/development
            1.6G    ./4.2/external
            19G    ./4.2/out
            53M    ./4.2/hardware
            18M    ./4.2/bionic
            9.1M    ./4.2/system
            138M    ./4.2/cts
            336K    ./4.2/pdk
            116K    ./4.2/abi
            5.1M    ./4.2/gdk
            40M    ./4.2/libcore
            1.2G    ./4.2/frameworks
            4.9M    ./4.2/build
            34M    ./4.2/tools
            2.4G    ./4.2/prebuilts
            43M    ./4.2/device
            7.5G    ./4.2/.repo
            55M    ./4.2/sdk
            5.9M    ./4.2/docs
            41M    ./4.2/dalvik
            31M    ./4.2/ndk
            33G    ./4.2/

            言歸正題,按照官網(wǎng)的文檔,安裝所需要的工具
            Python 2.5 -- 2.7, 下載地址 python.org
            GNU Make 3.81 -- 3.82, 下載地址 gnu.org
            JDK 6 :2.3以上的版本; JDK 5 2.2和2.2以下的版本. 下載地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
            Git 1.7 以上. 下載地址 git-scm.com.
            前兩條Ubuntu 12.10系統(tǒng)自帶(新系統(tǒng)的好處),git后面會(huì)通過(guò)安裝必須包來(lái)安裝,所以只需要我們手動(dòng)安裝JDK

            安裝必要的編譯工具包

            $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
              zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
              libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
              libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
              python-markdown libxml2-utils xsltproc zlib1g-dev:i386
            $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
            PS: 后來(lái)發(fā)現(xiàn)這里可以選擇不安裝openjdk。android生成主要用到的是 jdk1.6
            安裝JDK 1.6.0

            1.下載
            2013-1-22,當(dāng)前最新版本是 1.6.0_38
            http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html
            這里請(qǐng)選擇64位的linux版本,對(duì)應(yīng)的下載文件名:jdk-6u38-linux-x64.bin.
            2.安裝
            修改文件權(quán)限,復(fù)制到/usr/lib/jvm,安裝
            chmod a+x jdk-6u38-linux-x64.bin
            sudo mv jdk-6u38-linux-x64.bin /usr/lib/jvm
            cd /usr/lib/jvm
            sudo ./jdk-6u38-linux-x64.bin
            安裝后,在/usr/lib/jvm上會(huì)多出一個(gè)目錄(jdk1.6.0_38),其實(shí)執(zhí)行.bin文件感覺(jué)就是一個(gè)解壓文件
            3.環(huán)境配置

            修改/etc/profile文件
            export JAVA_HOME="/usr/lib/jvm/jdk1.6.0_38"
            export PATH=$PATH:$JAVA_HOME/bin
            export CLASSPATH=".:$JAVA_HOME/bin"
            建議重啟或注銷一下系統(tǒng),讓配置生效~~~
            此時(shí)輸入: java --version查看一下版本
            java version "1.6.0_38"
            Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
            Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
            如果系統(tǒng)中有時(shí)候會(huì)安裝openjdk,我們還需要修改一下java的默認(rèn)程序,讓他使用jdk1.6.0進(jìn)行android編譯
            安裝java/javac/jar,執(zhí)行如下命令:
            sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_38/bin/java 300
            sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_38/bin/javac 300
            sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_38/bin/jar 300

            執(zhí)行后這三個(gè)命令,網(wǎng)上的資源說(shuō)可以自動(dòng)切換到j(luò)dk1.6.0_38,但是我配置的時(shí)候不行,可能再通過(guò)下面這三個(gè)命令,手動(dòng)指定了
            sudo update-alternatives --config java
            sudo update-alternatives --config javac
            sudo update-alternatives --config jar

            代碼下載:

            下載repo,初始化下載環(huán)境,repo配置,同步
            $ mkdir ~/bin  
            $ PATH=~/bin:$PATH 
            $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
            $ chmod a+x ~/bin/repo 
            $ mkdir ~/android/sources
            $ cd ~/android/sources
            $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.1_r1
            $ repo sync

            下載是個(gè)漫長(zhǎng)的過(guò)程,我的機(jī)子一個(gè)周末開著下載~~~good lucky~~~

            編譯代碼:

            初始化腳本, make編譯
            $ source build/envsetup.sh
            $ lunch full-eng
            $ make -jN

            這里的三個(gè)命令參考官方的文檔,官網(wǎng)上說(shuō)明很詳細(xì)。特別是第二條命令的參數(shù),你想生成什么樣的配置,就設(shè)定什么樣的參數(shù)
            http://source.android.com/source/building.html

            運(yùn)行emulator

            編譯成功后,運(yùn)行模擬器
            $ emulator
            模擬器就運(yùn)行起來(lái)了。。。
            posted @ 2013-01-22 10:20 雙魚座的程序員 閱讀(8189) | 評(píng)論 (1)編輯 收藏
              2013年1月14日

            Here’s a quick tip that shows you how to install Oracle (Sun) Java 6 JRE / JDK in Ubuntu 12.10 via PPA. If you still need Java 6 JRE/JDK  in Ubuntu 12.10, then continue below to learn how to install it.

            The advantage of using PPA installer is that you get access to feature updates and bug fixes automatically when you update your system.

            Objectives:

            • Install Oracle ( Sun ) Java 6 JRE / JDK in Ubuntu 12.10
            • Enjoy!

            To get started, press Ctrl – Alt – T on your keyboard to open the terminal. When it opens, run the commands below to add this PPA.

            sudo add-apt-repository ppa:webupd8team/java

            Finally, run the commands below to update your system and install Oracle Java 6 (Sun Java)

            sudo apt-get update && sudo apt-get install oracle-java6-installer

            Enjoy!
            posted @ 2013-01-14 20:34 雙魚座的程序員 閱讀(2244) | 評(píng)論 (1)編輯 收藏
              2006年9月4日

            匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]
            評(píng)注:匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了

            匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]
            評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)

            匹配空白行的正則表達(dá)式:\n\s*\r
            評(píng)注:可以用來(lái)刪除空白行

            匹配HTML標(biāo)記的正則表達(dá)式:< (\S*?)[^>]*>.*?|< .*? />
            評(píng)注:網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力

            匹配首尾空白字符的正則表達(dá)式:^\s*|\s*$
            評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格、制表符、換頁(yè)符等等),非常有用的表達(dá)式

            匹配Email地址的正則表達(dá)式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
            評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

            匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*
            評(píng)注:網(wǎng)上流傳的版本功能很有限,上面這個(gè)基本可以滿足需求

            匹配帳號(hào)是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
            評(píng)注:表單驗(yàn)證時(shí)很實(shí)用

            匹配國(guó)內(nèi)電話號(hào)碼:\d{3}-\d{8}|\d{4}-\d{7}
            評(píng)注:匹配形式如 0511-4405222 或 021-87888822

            匹配騰訊QQ號(hào):[1-9][0-9]{4,}
            評(píng)注:騰訊QQ號(hào)從10000開始

            匹配中國(guó)郵政編碼:[1-9]\d{5}(?!\d)
            評(píng)注:中國(guó)郵政編碼為6位數(shù)字

            匹配身份證:\d{15}|\d{18}
            評(píng)注:中國(guó)的身份證為15位或18位

            匹配ip地址:\d+\.\d+\.\d+\.\d+
            評(píng)注:提取ip地址時(shí)有用

            匹配特定數(shù)字:
            ^[1-9]\d*$    //匹配正整數(shù)
            ^-[1-9]\d*$   //匹配負(fù)整數(shù)
            ^-?[1-9]\d*$   //匹配整數(shù)
            ^[1-9]\d*|0$  //匹配非負(fù)整數(shù)(正整數(shù) + 0)
            ^-[1-9]\d*|0$   //匹配非正整數(shù)(負(fù)整數(shù) + 0)
            ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮點(diǎn)數(shù)
            ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配負(fù)浮點(diǎn)數(shù)
            ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮點(diǎn)數(shù)
            ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
            ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)
            評(píng)注:處理大量數(shù)據(jù)時(shí)有用,具體應(yīng)用時(shí)注意修正

            匹配特定字符串:
            ^[A-Za-z]+$  //匹配由26個(gè)英文字母組成的字符串
            ^[A-Z]+$  //匹配由26個(gè)英文字母的大寫組成的字符串
            ^[a-z]+$  //匹配由26個(gè)英文字母的小寫組成的字符串
            ^[A-Za-z0-9]+$  //匹配由數(shù)字和26個(gè)英文字母組成的字符串
            ^\w+$  //匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
            評(píng)注:最基本也是最常用的一些表達(dá)式

            posted @ 2006-09-04 15:58 雙魚座的程序員 閱讀(350) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  
            久久精品国产亚洲5555| 久久久久久久综合日本| 色88久久久久高潮综合影院| 久久无码AV一区二区三区| 亚洲va国产va天堂va久久| 久久偷看各类wc女厕嘘嘘| 久久精品国产99国产精偷| 久久亚洲精品无码观看不卡| 久久www免费人成看片| 久久精品亚洲日本波多野结衣 | 2021国产精品久久精品| 久久精品国产男包| 丁香久久婷婷国产午夜视频| 亚洲精品乱码久久久久久自慰| 99久久精品毛片免费播放| 亚洲国产日韩欧美久久| 国产精品美女久久久久| 一级A毛片免费观看久久精品| 久久精品水蜜桃av综合天堂| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产亚洲美女精品久久久2020| 国产精品久久免费| 久久久精品国产免大香伊| 青青草国产精品久久久久| 色88久久久久高潮综合影院| 亚洲国产成人精品91久久久| 日韩一区二区久久久久久| 囯产极品美女高潮无套久久久| 精品熟女少妇aⅴ免费久久| 久久精品亚洲一区二区三区浴池 | 日本欧美国产精品第一页久久| 成人久久久观看免费毛片| 亚洲色婷婷综合久久| 久久A级毛片免费观看| 久久精品国产乱子伦| 亚洲国产成人久久一区久久| 久久国产精品波多野结衣AV| 亚洲综合精品香蕉久久网97| 无码8090精品久久一区| 久久国产精品无码HDAV| 久久AAAA片一区二区|