随笔-3  评论-13  文章-10  trackbacks-0
  2013年1月22日
google推荐的编译环境是在Ubuntu LTS(10.04),但是最新版本12.10已经出来,没必要在旧版本上做文章了
对于2.3.X和更新的版本,需要64位的系统,之前的老版本2.2以下(包括2.2)可以在32位版本上编译
对于虚拟机,官网上写的虚拟机配置参数:16G RAM/swap & 30G+ 硬盘空间
PS: 全部编译完毕后,才发现真的很耗空间
源代码下载/编译完成后,磁盘空间一共是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/

言归正题,按照官网的文档,安装所需要的工具
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系统自带(新系统的好处),git后面会通过安装必须包来安装,所以只需要我们手动安装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: 后来发现这里可以选择不安装openjdk。android生成主要用到的是 jdk1.6
安装JDK 1.6.0

1.下载
2013-1-22,当前最新版本是 1.6.0_38
http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html
这里请选择64位的linux版本,对应的下载文件名:jdk-6u38-linux-x64.bin.
2.安装
修改文件权限,复制到/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上会多出一个目录(jdk1.6.0_38),其实执行.bin文件感觉就是一个解压文件
3.环境配置

修改/etc/profile文件
export JAVA_HOME="/usr/lib/jvm/jdk1.6.0_38"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=".:$JAVA_HOME/bin"
建议重启或注销一下系统,让配置生效~~~
此时输入: 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)
如果系统中有时候会安装openjdk,我们还需要修改一下java的默认程序,让他使用jdk1.6.0进行android编译
安装java/javac/jar,执行如下命令:
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

执行后这三个命令,网上的资源说可以自动切换到jdk1.6.0_38,但是我配置的时候不行,可能再通过下面这三个命令,手动指定了
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

代码下载:

下载repo,初始化下载环境,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

下载是个漫长的过程,我的机子一个周末开着下载~~~good lucky~~~

编译代码:

初始化脚本, make编译
$ source build/envsetup.sh
$ lunch full-eng
$ make -jN

这里的三个命令参考官方的文档,官网上说明很详细。特别是第二条命令的参数,你想生成什么样的配置,就设定什么样的参数
http://source.android.com/source/building.html

运行emulator

编译成功后,运行模拟器
$ emulator
模拟器就运行起来了。。。
posted @ 2013-01-22 10:20 双鱼座的程序员 阅读(8170) | 评论 (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 双鱼座的程序员 阅读(2209) | 评论 (1)编辑 收藏
  2006年9月4日

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:< (\S*?)[^>]*>.*?|< .*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:\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位数字

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

posted @ 2006-09-04 15:58 双鱼座的程序员 阅读(342) | 评论 (0)编辑 收藏
仅列出标题