2011-3的笔记:

---------------------------------------------------------------------------------------------------------------------------------

 

Telichip android:2.2

------------------------------------------------------------------------------------------------------------BUILD_ID--------

 

BUILD_ID是版本号或者分支

         2.1éclair2.2master0107/2.2frg83

 

----------------------------------------------------------------------------------------------------编译android-----------

 

编译命令顺序:

1.       . build/envsetup.sh

2.       Lunch

3.       cd kernel

4.       make tcc92xx_defconfig

5.       make menuconfig

6.       make

7.       cd ../bootable/bootloader/lk

8.       make tcc8900_evm

9.       cd http://www.cnblogs.com/..

10.   make

11.   mkmtdimg

注:步骤4只在最初执行一次,步骤56只在添加删除driver时执行,步骤789只在修改了boot时执行,不改boot时,lk也只执行一次。

 

2.2jdk1.5编译  1.6没试过

2.31.6编译,建议64位系统,32位需要修改文件。

                                                                                                                         -------------商工

 

 

 

在源码目录下 执行  . /build/envsetup.sh (点后有空格)

多出如下命令:

-croot Changes directory to the top of the tree

-m    makes from the top of the tree

-mm builds all of the modules in the current directory

-mmm builds all of the modules in the supplied directory

-cgrep Greps on all local C/C++ files

-jgrep        Greps on all local Java files

-resgrep   Greps on all local res/*.xml files

-godir        go to the directory containing afile

 

----------------------------------------------------------------------------------------------------编译android模块

mmm编译指定目录的模块

如编译联系人 mmm packages/apps/contacts/

生成两个文件 out/target/product/generic/data/app/contactTests.apk

                            out/target/product/generic/data/app/contact.apk

使用命令 make snod 重新生成system.img

 

不改驱动、不改boot

froyo目录:

. build/envsetup.sh

lunch

cd kernel

tcc92xx_defconfig

cd ..                    (返回froyo目录)

make

mkmtdimg

 

mkmtdimg例:

 

mkmtdimg --boot out/target/product/tcc8900/boot.img

                    --system out/target/product/tcc8900/system.img

                   --recovery out/target/product/tcc8900/recovery.img

                   --output tcc8900_mtd.img

(在当前目录生成tcc8900_mtd.img)

 

--------------------------------------------------------------------------------------------------------编译Android SDK

 

编译SDK文档  froyo110107/development/docs

howto_build_sdk.txt

cd /my_android_git

.build/envsetup.sh

make sdk

位置:

out/host/linux-x86/sdk/

名字:android-sdk_eng.root_linux_x86.zip

如果处理器为多核

make –j4 sdk

 

解压后:

android sdk中的模拟器emulator程序在android-sdk_eng.root_linux_x86/tools/目录下

运行sdk中的android模拟器需要加载image

默认加载的是android-sdk_eng.root_linux_x86/tools/lib/images(此image文件夹关联的是/froyo/out/host/linux-x86/sdk/android-sdk_eng.root_linux_x86/platforms/android-2.2.1/images)下的

         kernel-gemu   ramdisk.img   system.img    userdata.img

 

-------------------------------------------------------------------------------------------------android模拟器

 

不编译生成SDK的话

模拟器在/froyo/out/host/linux-x86/bin目录下

ramdisk.img     system.img      userdata.img

/froyo/out/target/product/generic/目录下

 

为了使用方便添加些环境变量

export Android_PRODUCT_OUT=/froyo/out/target/product/generic

export Android_PRODUCT_OUT_BIN=/froyo/out/host/linux_x86/bin

export PATH=${PATH}:S{Android_PRODOUCT_OUT_BIN}

source ~/.bashrc

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

---------------------------------------------------------------------------------------------------------------------  编译android下载的相关库------------

 

lk.rom bootable/bootloader/lk/build_tcc8900_evm

 

下载相关库文件

sudo apt-get install git-core gnupg fiex bison gperf build_essential zip curl zlib1g_dev gcc_multilib g++_multilib libc6_dev_i386 lib32ncurses5_dev ia32_libs x11proto_core_dev libx11_dev lib32readine5_dev lib32z_dev

 

NAND驱动:

                   bootable/bootloader/tcboot/driver/nand/nand_io_v7.c

nand_io_v7.h

         bootable/bootloader/lk/platform/tcc_shared/include/tnftl

         froyo_110107/bootable/bootloader/tcboot/include/tnftl

         froyo_110107/hardware/telechips/nand/include/tnftl

 

Google android官网 developer.android.com(国内屏蔽)

镜像:

androidappdocs.appspot.com

txt.appspot.com/developer.android.com

---------------------------------------------------------------------------------------------------------------------------------

 

Android ADB工具

Android Debug Bridge

android提供的通用调试工具,可以管理设备或者手机模拟器

安装应用到模拟器

adb install app.apk

卸载

adb shell  进入设备或者模拟器的shell环境

cd data/app

rm app.apk

 

只执行一条adb shell命令

adb shell dmesg 打印内核的调试信息

---------------------------------------------------------------------------------------------------------------------------------

 

linux常用命令

----------------------------------------------------------------------------------------------------------减压缩----------

 

杯具了,想不明白用的那么熟了,过几天没用还是照常忘记,记下。

减压:

         tar -xvf   /for gz

         tar -jxvf    /for bz2

        

查看系统版本

uname –r

---------------------------------------------------------------------------------------------------添加系统源-------------

 

添加系统源 ubuntu10.10  root权限

可以直接修改/etc/apt/sources.list

命令:

sudo add-apt-repository “deb http://archive.ubuntu.com/ubuntu dapper main multiverse”

sudo add-apt-repository “deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse”

更新源:

sudo apt-get update

安装JDK5

sudo apt-get install sun-java5-jdk

配置jdk5为默认的JAVA开发环境

sudo update-java-alternatives –s java-1.5.0-sun

 

哈工大源  run.hit.edu.cn

 

配置环境变量

mkdir ~/bin

PATH=~/bin:$PATH

 

--------------------------------------------------------------------------------------------------repo------------------

 

通过curl下载repo脚本(安装好curl)

curl http://android.git.kernel.org.repo>~/bin/reop

chmod a+x ~/bin/repo

初始化repo

如下载1.5android源代码cupcake

repo init –u git://android.git.kernel.org//platform/manifest.git –b cupcake

注意:下载文件所在目录为repo init执行时所在目录,即需要下载到那个目录就在那个目录下初始化repo

repo sync(开始下载)(中断后可以用此命令接着上次中断的继续下载)

 

----------------------------------------------------------------------------------------------操作系统多少位------------

 

查看ubuntus 是多少位的系统

file /bin/ls

或者

getconf –a|grep LONG_BIT

-----------------------------------------------------------------------------------------------linux环境变量----------

 

LINUX系统有3个级别的环境变量

/etc/environment是最高级别的

 

Ubuntu环境变量

/etc/profile 登陆时操作系统使用的第一个文件

/etc/environment 第二个使用的

/etc/bash.bashrc  (自己用的)

 

修改.bashrc 只对当前用户有效

/etc/profile对所有用户有效,加载错误系统无法启动

 

~/.bash_profile每个用户都可以使用的

 

使修改立即生效

source

source  /etc/bash.bashrc

 

 

相同名字的环境变量,后写入的先起作用

:(冒汗表示并列)

.(点表示操作的当前目录)

$表示该变量本次定义之前的值

export A=/q/jing

export A=/cd/cdr:$A

就是 A=/cd/cdv:/q/jing

命令env显示所有的环境变量

PATH 决定shell将在哪些目录中寻找命令或程序

HOME 当前用户主目录

SHELL 当前用户使用的是那种shell

HISTSIZE 保存历史命令记录的条数

LOGNAME 当前用户的登录名

PS1 是基本命令提示符,root#,普通用户是$

 

ln 常用参数 –s

ln –s 源文件  目标文件

-s 只是在指定位置生成一个文件的镜像,不会占用控件

没有指定-s会在目标位置生成一个和源文件同样大小的文件

无论是软连接还是硬连接,文件都会保持同步变化

 

当用ls查看文件时,有的文件后面有@符合,就是用ln命令生成的文件。

ls –l命令查看link的路径

-----------------------------------------------------------------------------------------------修改虚拟机磁盘-----------

 

 

增加虚拟机磁盘大小

安装目录 wmware-vdiskmanager

CMD下命令

wmware-vdiskmanager –x 40Gb “J:/vmware space/xxx.wmdk”  

xxx为虚拟机名字。

 

------------------------------------------------------------------------------------------------------Cygwin-----------

 

Cygwin

Cygwin的根目录“/”就是Cygwin的安装目录

例:/ 是指 D:/Cygwin

管理员目录 ~ 是指windows管理员目录

~ /cygwin/c/Document and Setting/Administrator