• <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  評論-13  文章-10  trackbacks-0
              2013年1月22日
            google推薦的編譯環(huán)境是在Ubuntu LTS(10.04),但是最新版本12.10已經(jīng)出來,沒必要在舊版本上做文章了
            對于2.3.X和更新的版本,需要64位的系統(tǒng),之前的老版本2.2以下(包括2.2)可以在32位版本上編譯
            對于虛擬機(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后面會通過安裝必須包來安裝,所以只需要我們手動(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: 后來發(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
            這里請選擇64位的linux版本,對應(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上會多出一個(gè)目錄(jdk1.6.0_38),其實(shí)執(zhí)行.bin文件感覺就是一個(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í)候會安裝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)上的資源說可以自動(dòng)切換到j(luò)dk1.6.0_38,但是我配置的時(shí)候不行,可能再通過下面這三個(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è)漫長的過程,我的機(jī)子一個(gè)周末開著下載~~~good lucky~~~

            編譯代碼:

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

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

            運(yùn)行emulator

            編譯成功后,運(yùn)行模擬器
            $ emulator
            模擬器就運(yùn)行起來了。。。
            posted @ 2013-01-22 10:20 雙魚座的程序員 閱讀(8215) | 評論 (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 雙魚座的程序員 閱讀(2271) | 評論 (1)編輯 收藏
              2006年9月4日

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

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

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

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

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

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

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

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

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

            匹配騰訊QQ號:[1-9][0-9]{4,}
            評注:騰訊QQ號從10000開始

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

            匹配身份證:\d{15}|\d{18}
            評注:中國的身份證為15位或18位

            匹配ip地址:\d+\.\d+\.\d+\.\d+
            評注:提取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)
            評注:處理大量數(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è)英文字母或者下劃線組成的字符串
            評注:最基本也是最常用的一些表達(dá)式

            posted @ 2006-09-04 15:58 雙魚座的程序員 閱讀(369) | 評論 (0)編輯 收藏
            僅列出標(biāo)題  
            国产免费福利体检区久久| 久久99九九国产免费看小说| 久久久久久久久久久久中文字幕| 亚洲va中文字幕无码久久 | 久久精品免费网站网| 青青青青久久精品国产h久久精品五福影院1421 | 久久久精品人妻一区二区三区蜜桃 | 久久这里只有精品视频99| 无码精品久久久久久人妻中字| 久久综合久久综合九色| 久久综合久久鬼色| 国产精品久久久亚洲| 久久精品国产久精国产一老狼| 情人伊人久久综合亚洲| 久久久久久久久无码精品亚洲日韩 | 久久久这里有精品| 青青青国产成人久久111网站| 99久久精品国产一区二区| 久久成人18免费网站| 国产精品一久久香蕉产线看| 国产精品久久久久蜜芽| 亚洲国产成人久久一区WWW| 91久久精品国产免费直播| AV色综合久久天堂AV色综合在| 久久久久久精品久久久久| 欧美亚洲另类久久综合婷婷| 国产精品内射久久久久欢欢| 国产成人综合久久综合| 久久99国产综合精品| 久久棈精品久久久久久噜噜| 少妇精品久久久一区二区三区| 少妇无套内谢久久久久| 久久久久亚洲av综合波多野结衣| 亚洲欧洲中文日韩久久AV乱码| 久久精品国产只有精品66| 日韩十八禁一区二区久久| 一本久久免费视频| 久久精品国产清自在天天线| 久久精品亚洲一区二区三区浴池 | 狠狠人妻久久久久久综合| 久久99精品国产麻豆蜜芽|