Android 版本:2.3.1_r1
1. 安装java 6
官方下载java6安装包
jdk-6u45-linux-x64.bin
解包:
./jdk-6u45-linux-x64.bin
剪切到:
/usr/lib/jvm
在.profile和.bashrc配置环境变量:
sudo gedit ~/.profile
sudo gedit ~/.bashrc
在末尾添加:
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
export JRE_HOME=/usr/lib/jvm/jdk1.6.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
unset JAVA_TOOL_OPTIONS
刷新配置:
source ~/.profile
source ~/.bashrc
莫名其妙找不到文件问题:
安装ia32-libs
找不到bison:
sudo apt-get install flex bison
进入root:
sudo passwd root
su root
2.注意:
有时候缺少lib但装了也不行,则可以试试装i386版本
libxxx-dev:i386
错误:
host Prebuilt: monkeyrunner (out/host/linux-x86/obj/EXECUTABLES/monkeyrunner_intermediates/monkeyrunner)
解决:
修改build/core/combo/HOST_linux-x86.mk 61行,将 HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 修改成 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
编译 android SLES/OpenSLESUT.h 找不到 是什么问题[4] Error:
external/srec/tools/thirdparty/OpenFst/fst/lib/cache.h:136:11: note: use ‘this->SetState’ instead
make: *** [out/host/linux-x86/obj/EXECUTABLES/grxmlcompile_intermediates/grxmlcompile.o] Error 1
Fix:
cd external/srec
wget https://github.com/CyanogenMod/android_external_srec/commit/4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff
patch -p1 < 4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff
rm -f 4d7ae7b79eda47e489669fbbe1f91ec501d42fb2.diff
cd ../..
target Strip: AudioInRecord (out/target/product/generic/obj/EXECUTABLES/AudioInRecord_intermediates/AudioInRecord)
target thumb C++: BufferQueue_test <= system/media/opensles/tests/automated/BufferQueue_test.cpp
system/media/opensles/tests/automated/BufferQueue_test.cpp:34:29: error: SLES/OpenSLESUT.h: No such file or directory
system/media/opensles/tests/automated/BufferQueue_test.cpp: In function 'void CheckErr(SLresult)':
system/media/opensles/tests/automated/BufferQueue_test.cpp:55: error: 'slesutResultToString' was not declared in this scope
make: *** [out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/BufferQueue_test.o] Error 1
解决:
system/media/opensles/tests/automated/BufferQueue_test.cpp
#include <unistd.h>
#include "SLES/OpenSLES.h"
#include "SLES/OpenSLESUT.h"
#include <gtest/gtest.h>
添加以下部分:
# updatedb
# locate OpenSLESUT.h
/home/Android-2.3/system/media/opensles/libopensles/OpenSLESUT.h
# cp /home/Android-2.3/system/media/opensles/libopensles/OpenSLESUT.h /home/Android-2.3/system/media/opensles/include/SLES/OpenSLESUT.h