我的操作系统: ubuntu10.10
首先,我们先安装一些常用的工具
curl: sudo apt-get install curl
git: sudo apt-get install git
g++: sudo apt-get install g++
android 源码的下载:
1. mkdir bin 建立bin目录
2. curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 导入repo执行脚本
3. chmod a+x ~/bin/repo 增加repo的执行权限
4. mkdir workspace 建立自己要存放源码的目录
5. repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 初始化项目列表
6. repo sync 下载项目
android 源码的编译和系统建立
1. cd workspace
2. source build/envsetup.sh
3. lunch full-eng
4. make -j4
android make 时可能遇到的问题
/usr/bin/ld: cannot find -lz
host Executable: aapt (out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt)
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
解决方法: sudo apt-get install zlib1g-dev sudo apt-get install lib64z1-dev
/bin/bash: bison: command not found
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
bison -d -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
/bin/bash: bison: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
解决方法:sudo apt-get install bison
/bin/bash: flex: command not found
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp: In function ‘int yyparse()’:
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp:1827: warning: deprecated conversion from string constant to ‘char*’
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp:1970: warning: deprecated conversion from string constant to ‘char*’
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
解决方法: sudo apt-get install flex
/usr/bin/ld: cannot find -lncurses
host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
解决方法:sudo apt-get install libncurses5-dev
fatal error: GL/glx.h: No such file or directory
development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:22: fatal error: GL/glx.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon_intermediates/GLDispatch.o] Error 1
解决方法:sudo apt-get install libgl1-mesa-dev
sh: gperf: not found
target Generated: libwebcore <= external/webkit/Source/JavaScriptCore/create_regex_tables
Generating CSSPropertyNames.h <= CSSPropertyNames.in
sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 140.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/css/CSSPropertyNames.h'
解决方法:sudo apt-get install gperf
分享到:
相关推荐
这份名为"Android Source_source_android_"的资料,正是对这一庞大而复杂的系统的深度剖析。 首先,Android源码主要由以下几个部分组成: 1. **Kernel(内核)**:Android基于Linux内核,负责硬件设备驱动、内存...
这个压缩包“Android-source-code-download.rar”似乎包含了关于如何下载Android源码的详细指导,而“Android source code download.docx”很可能是具体步骤的文档。 下载Android源码的过程通常涉及以下几个关键...
android-2.2 source文件 eclipse中绑定android源码的方法 1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...
用于android source code下载
"android source code: Camera.zip" 提供的是Android操作系统中与相机相关的源代码,这对于开发者深入理解Android相机的工作原理,以及进行自定义相机应用开发极其有价值。下面将详细解析其中涉及的重要知识点: 1....
get android source code
"android source code - email"指的是Android源代码中的电子邮件模块,这对于开发者深入理解Android系统的内部工作原理,尤其是邮件服务的实现机制至关重要。在此,我们将详细探讨Android源码中关于电子邮件的相关...
android-4.0 source文件 eclipse中绑定android源码的方法 1.下载android-4.0 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...
Android source code management An introduction to Git, Repo, and Gerrit for Android developers
本文将针对"Android source sync问题汇总(since 2012)"这一主题进行详细讲解,旨在帮助开发者解决在同步源码过程中遇到的各种难题。 首先,我们来看一下`repo`工具,它是Google为管理Android源码开发的一个版本控制...
在Android系统中,蓝牙(Bluetooth)是一个至关重要的无线通信技术,允许设备之间进行数据交换和通信。Android源代码中的蓝牙部分提供了对蓝牙功能的底层控制和管理,这对于我们理解和定制蓝牙功能至关重要。以下是对...
《深入解析2048安卓源码:探索游戏机制与Android开发实践》 在移动设备上,2048是一款备受欢迎的数字拼图游戏,以其简洁的设计和挑战性吸引了无数玩家。本篇文章将深入剖析从GitHub获取的"2048-android-master"项目...
《深入剖析Android 2.3源码》 Android 2.3,又称为Gingerbread(姜饼),是Google发布的一个重要版本,它在Android操作系统的发展历程中扮演了关键角色。这一版本带来了许多性能优化、界面改进以及新功能的引入,为...
Android源码中的OpenSSH Android是一个开源的操作系统,主要用于移动设备如智能手机和平板电脑。它基于Linux内核,提供了一个全面的软件平台,包括操作系统、中间件和关键应用。OpenSSH是Android源代码中的一部分,...
最新android 4.2源码,压缩后18M。下载之后,使用解压到*\adt-bundle-windows-x86_64\sdk\ 目录下,然后就可以...若仍不能查看,点击出现的attach source按钮,选中解压的source文件夹下的android目录,就可以看了。
source build/envsetup.sh lunch make -j4 ``` `<target_device_name>`应替换为你的设备配置。 **三、编译问题及解决** 在编译过程中可能会遇到错误: 1. **TAREGT_BRM_PLATFORM is undefined** 这个错误...