编译Android:
1.安装$
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk //此部要改为:gedit /etc/apt/sources.list 往最后加入deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse。2、sudo apt-get update 3、sudo apt-get install sun-java6-jdk
运行java -version是不是1.6版本
第二步:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown libxml2-utils xsltproc
第三部:
curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
chmod a+x ~/bin/repo
修改~/bin/repo文件将第五行
REPO_URL='https://code.google.com/p/git-repo/'
改为REPO_URL='http://code.google.com/p/git-repo/'
export PATH=$PATH:~/bin
cd mydroid
repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread
随便输入名字与邮箱
repo sync
第四步安装:
sudo apt-get install make
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install libc6-dev
$ sudo apt-get install patch
$ sudo apt-get install texinfo
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install python2.5(或者更高版本)
第五步安装sun-java5-jdk
$ sudo apt-get install sun-java5-jdk
修改javadoc的link
$ cd /etc/alternatives
$ sudo rm javadoc.1.gz
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz
$ sudo rm javadoc
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
gedit ~/.bashrc
在末尾加上:
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME
export CLASSPATH
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN}
保存后,同步更新:
source ~/.bashrc
修改下面文件(如果是32bit的系统的话,则要更改几个Android.mk文件)
01./external/clearsilver/cgi/Android.mk
02./external/clearsilver/java-jni/Android.mk
03./external/clearsilver/util/Android.mk
04./external/clearsilver/cs/Android.mk
用gedit打开,修改m64为m32即可
01.$ gedit frameworks/base/libs/utils/Android.mk
将LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)改为
LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6
由于报错:make: *** No rule to make target `out/debug/host/linux-x86/pr/sim/obj/lib/libdl.so', needed by `out/debug/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libstagefright_color_conversion_intermediates/LINKED/libstagefright_color_conversion.so'. Stop.
将GCC从4.4降到4.3版本
sudo apt-get install gcc-4.3
安装后gcc被覆盖,指向了gcc-4.3:
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
sudo aptitude install g++
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libstagefright_intermediates/OMXCodec.o] Error 1
修改:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h
./out/target/product/generic/obj/include/mm-core/omxcore/OMX_QCOMExtns.h
./hardware/qcom/media/mm-core/omxcore/inc/OMX_QCOMExtns.h
In those files, I put this line to the typedef struct QOMX_VIDEO_PARAM_DIVXTYPE:
OMX_PTR pDrmHandle;
frameworks/base/media/libstagefright/OMXCodec.cpp:1863: error: 'QOMX_VIDEO_CodingVp8' was not declared in this scope
I have just commented these lines in the OMXCodec.cpp:
//} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_VPX, mime)) {
// compressionFormat= (OMX_VIDEO_CODINGTYPE)QOMX_VIDEO_CodingVp8;
sudo aptitude install g++
sudo apt-get --reinstall install build-essential
apt-get install g++-4.3
PATH=/usr/bin/gcc:$PATH
export PATH
将external中的alloy文件夹删了,编译报错
source build/envsetup.sh
lunch
make -j4
make PRODUCT-sdk-sdk
往/etc/bash.bashrc中加入:
export ANDROID_SDK_HOME=/home/cg/mydroid/out/host/linux-x86/sdk/android-sdk_eng.cg_linux-x86
export PATH=$ANDROID_SDK_HOME/tools:$PATH
export ANDROID_PRODUCT_OUT=/home/cg/mydroid/out/target/product/generic
运行 source /etc/bash.bashrc
运行emulator 终于OK了。
1.安装$
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk //此部要改为:gedit /etc/apt/sources.list 往最后加入deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse。2、sudo apt-get update 3、sudo apt-get install sun-java6-jdk
运行java -version是不是1.6版本
第二步:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown libxml2-utils xsltproc
第三部:
curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
chmod a+x ~/bin/repo
修改~/bin/repo文件将第五行
REPO_URL='https://code.google.com/p/git-repo/'
改为REPO_URL='http://code.google.com/p/git-repo/'
export PATH=$PATH:~/bin
cd mydroid
repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread
随便输入名字与邮箱
repo sync
第四步安装:
sudo apt-get install make
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install libc6-dev
$ sudo apt-get install patch
$ sudo apt-get install texinfo
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install python2.5(或者更高版本)
第五步安装sun-java5-jdk
$ sudo apt-get install sun-java5-jdk
修改javadoc的link
$ cd /etc/alternatives
$ sudo rm javadoc.1.gz
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz
$ sudo rm javadoc
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
gedit ~/.bashrc
在末尾加上:
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME
export CLASSPATH
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN}
保存后,同步更新:
source ~/.bashrc
修改下面文件(如果是32bit的系统的话,则要更改几个Android.mk文件)
01./external/clearsilver/cgi/Android.mk
02./external/clearsilver/java-jni/Android.mk
03./external/clearsilver/util/Android.mk
04./external/clearsilver/cs/Android.mk
用gedit打开,修改m64为m32即可
01.$ gedit frameworks/base/libs/utils/Android.mk
将LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)改为
LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6
由于报错:make: *** No rule to make target `out/debug/host/linux-x86/pr/sim/obj/lib/libdl.so', needed by `out/debug/host/linux-x86/pr/sim/obj/SHARED_LIBRARIES/libstagefright_color_conversion_intermediates/LINKED/libstagefright_color_conversion.so'. Stop.
将GCC从4.4降到4.3版本
sudo apt-get install gcc-4.3
安装后gcc被覆盖,指向了gcc-4.3:
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
sudo aptitude install g++
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libstagefright_intermediates/OMXCodec.o] Error 1
修改:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h
./out/target/product/generic/obj/include/mm-core/omxcore/OMX_QCOMExtns.h
./hardware/qcom/media/mm-core/omxcore/inc/OMX_QCOMExtns.h
In those files, I put this line to the typedef struct QOMX_VIDEO_PARAM_DIVXTYPE:
OMX_PTR pDrmHandle;
frameworks/base/media/libstagefright/OMXCodec.cpp:1863: error: 'QOMX_VIDEO_CodingVp8' was not declared in this scope
I have just commented these lines in the OMXCodec.cpp:
//} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_VPX, mime)) {
// compressionFormat= (OMX_VIDEO_CODINGTYPE)QOMX_VIDEO_CodingVp8;
sudo aptitude install g++
sudo apt-get --reinstall install build-essential
apt-get install g++-4.3
PATH=/usr/bin/gcc:$PATH
export PATH
将external中的alloy文件夹删了,编译报错
source build/envsetup.sh
lunch
make -j4
make PRODUCT-sdk-sdk
往/etc/bash.bashrc中加入:
export ANDROID_SDK_HOME=/home/cg/mydroid/out/host/linux-x86/sdk/android-sdk_eng.cg_linux-x86
export PATH=$ANDROID_SDK_HOME/tools:$PATH
export ANDROID_PRODUCT_OUT=/home/cg/mydroid/out/target/product/generic
运行 source /etc/bash.bashrc
运行emulator 终于OK了。