我在Ubuntu11.04下下载和安装Android2.3时遇到的问题

来源:互联网 发布:网络教育学费一般多少 编辑:程序博客网 时间:2024/06/11 14:42

下载:

设置环境

1,安装JDK6

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk

运行sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"这个命令时有错,忽略

2,安装必须的包

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \  libgl1-mesa-dev g++-multilib mingw32 tofrodos

 

引起以下错误:

E: 未发现软件包 lib32ncurses5-dev
E: 未发现软件包 ia32-libs
E: 未发现软件包 lib32readline5-dev
E: 未发现软件包 lib32z-dev
解决办法:将这几个包忽略

apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev g++-

multilib mingw32 tofrodos

但这样会引起编译时,错误1

sudo apt-get install libncurses5-dev

不知libncurses5-dev是否是lib32ncurses5-dev的替代版本?

 3,apt-get install git-core curl时出问题

当时安装完操作系统后直接运行的该命令。

解决:

sudo apt-get update

安装完操作系统后必须更新一下源

4,无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)

可能是我打开了“新力得”,没有正常关闭

解决:

直接删除lock文件

5,repo init -u git://android.git.kernel.org/platform/manifest.git是无法连接服务器

原因:单位通过HTTP代理上网,git可能走的是Socket

解决:

修改repo脚本中的
REPO_URL='git://Android.git.kernel.org/tools/repo.git'
  改成
REPO_URL='http://Android.git.kernel.org/tools/repo.git'

6,repo sync下载代码是出现无法连接服务器

原因:单位通过HTTP代理上网,git可能走的是Socket

解决:

.repo/manifests/default.xml将其中的 fetch="git://android.git.kernel.org/" 改成

fetch="http://android.git.kernel.org/"

 

注意:.repo目录在工作目录下,是隐藏的,需要(ls -la 查看)

 

编译:

1,

/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] 错误 1

 解决:$sudo apt-get install libncurses5-dev

2,这个问题在编译3.1.4.1.5.9.2.6.5时遇到,2.3没有该问题

sdk/build/tools.atree:47: couldn't locate source file: usr/share/pc-bios/bios.bin
sdk/build/tools.atree:48: couldn't locate source file: usr/share/pc-bios/vgabios-cirrus.bin
sdk/build/tools.atree:139: couldn't locate source file: framework/ddmlib-tests.jar
sdk/build/tools.atree:140: couldn't locate source file: framework/ninepatch-tests.jar
sdk/build/tools.atree:141: couldn't locate source file: framework/common-tests.jar
sdk/build/tools.atree:143: couldn't locate source file: framework/sdkuilib-tests.jar
make: *** [out/host/linux-x86/sdk/android-sdk_eng.android_linux-x86.zip] 错误 44
解决:

找到pc-bios目录,拷贝到/work/android/out/host/linux-x86/usr/share目录下;/work/android/out/host/linux-x86/framework/下的ddmlib.jar,ninepatch.jar,common.jar,sdkuilib.jar拷贝一份,分别命名为ddmlib-tests.jar,ninepatch-tests.jar,common-tests.jar,sdkuilib-tests.jar

 

模拟器

1,$ emulator命令无法启动模拟器解决:1)build/envsetup.sh

$ emulator

2)将/work/android/out/host/linux-x86/bin加入PATH环境变量中,其中/work/android/为我的工作目录

2,启动模拟器黑屏,背后窗口不断打印出错误信息:Trying to open the OpenGLES pipe without GPU emulation(3.1.4.1.5.9.2.6.5出问题,2.3无此问题)

解决办法:

没有找到办法

注意:用http://android.git.kernel.org/platform/manifest.git
获取的代码版本发现是:3.1.4.1.5.9.2.6.5

所以该错误不是编译2.3的错误

 

3,Android 2.3用android启动AVD出现下面错误

SWT folder '/work/android/out/host/linux-x86/framework/x86' does not exist.
Please export ANDROID_SWT to point to the folder containing swt.jar for your platform.

解决:

        export ANDROID_SWT=~/android/out/host/linux-x86/framework

4,AVD中无法选Target

解决: