Android源代码下载及编译方法
Android源码下载方法详解
![Android源码下载方法详解](https://img.taocdn.com/s3/m/fb9273ae284ac850ad024261.png)
Android: Android源码下载方法详解分类:Android平台安卓源码下载地址:/source/downloading.html相信很多下载过内核的人都对这个很熟悉git clone git:///kernel/common.git kernel但是这是在以前,现在如果这么执行的话,会显示如下内容Initialized empty Git repository in /home/star/working/kernel/.git/[0: 149.20.4.77]: errno=Connection refusedfatal: unable to connect a socket (Connection refused)通过浏览器输入/,发现该网站已经被重定向为/source/downloading.html可以在该页面的最后发现内核的下载方法。
下面我们介绍一下Android源码下载的步骤。
工作环境:操作系统:Ubuntu 10.04 或Ubuntu10.10git程序:1.7.0.4 或1.7.1转载请注明出处:/pku_android方法一:1.1 初始化安装环境参考网页/source/initializing.html主要要做的就是安装jdk和安装一些软件包$ 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如果已经安装了,就不许要这步了1.2 无论下载内核和源码,都需要进行如下操作参考网页/source/downloading.html$ mkdir ~/bin$ PATH=~/bin:$PATH$ curl https:///dl/googlesource/git-repo/repo > ~/bin/repo如果出现: repo init error: could not verify the tag 'v1.12.7',执行下面的命令:curl /git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo建立一个文件夹,以便下载的内容保存其中$ mkdir WORKING_DIRECTORY$ cd WORKING_DIRECTORY@@@ 以下可以脚本实现autogit.rar @@@1.3 内核下载$ git clone https:///kernel/common.git kernel命令行最后面的kernel的意思是保存在这个文件夹下,所以可以是任何名字,该文件夹不需要自己去创建,最后的这个不写也没问题如果想下载其他版本的内核$ git clone https:///kernel/goldfish.git$ git clone https:///kernel/msm.git$ git clone https:///kernel/omap.git$ git clone https:///kernel/samsung.git$ git clone https:///kernel/tegra.git下载过程中,会有如下信息,速度快慢取决于网速了。
Ubuntu下Android源码修改、编译及运行、launcher定制
![Ubuntu下Android源码修改、编译及运行、launcher定制](https://img.taocdn.com/s3/m/67be432aed630b1c59eeb558.png)
环境Linux 版本:Ubuntu 11.04 (可由10.10的版本进行升级)64位系统GCC版本:gcc version 4.5.2Java版本:java version "1.6.0_26"下载android源码前注意:1、保证Ubuntu系统中的容量在80G左右,以保证足够的空间来存放android源码以及编译后的相关文件。
2、保证Ubuntu系统进行Internet访问。
联网方法:采用拨号进行连接。
相关操作步骤如下所示:1、虚拟机→设置→硬件→网络适配器→网络连接→桥接2、启动Ubuntu系统,打开终端(在普通用户下),输入相关命令如下:$ pppoeconf //打开后输入上网账号跟密码,确认保存$ sudo pon dsl-provider //上网连接命令经过这两个步骤后就可以进行上网了。
Android源码编译所依赖的tools01.$ sudo apt-get update02.$ sudo apt-get -y install git-core03.$ sudo apt-get -y install gnupg04.$ sudo apt-get -y install sun-java6-jdk flex05.$ sudo apt-get -y install bison06.$ sudo apt-get -y install gperf07.$ sudo apt-get -y install libsdl-dev08.$ sudo apt-get -y install libesd0-dev09.$ sudo apt-get -y install libwxgtk2.6-dev10.$ sudo apt-get -y install build-essential11.$ sudo apt-get -y install zip12.$ sudo apt-get -y install curl13.$ sudo apt-get -y install libncurses5-dev14.$ sudo apt-get -y install zlib1g-dev15.$ sudo apt-get -y install valgrind注意:(如果是32bit的系统的话,则要更改几个Android.mk文件)01./external/clearsilver/cgi/Android.mk02./external/clearsilver/java-jni/Android.mk03./external/clearsilver/util/Android.mk04./external/clearsilver/cs/Android.mk用gedit打开,修改m64为m32即可另外将build/core/main.mk中的ifneq (64,$(findstring 64,$(build_arch)))修改为:ifneq (i686,$(findstring i686,$(build_arch)))对于32位系统所出现的问题,解决方法:Error1:make: ***[out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] error 1在terminal中输入$ gedit frameworks/base/libs/utils/Android.mk将LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)修改为:LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) –fpermissiveError2:make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] error 1此处编译错误是由于ubuntu 11.10采用了GCC4.6.1导致的修改源码目录下/build/core/combo/HOST_linux-x86.mk并将以下语句:HOST_GLOBAL_CFLAGS+= -D_FORTIFY_SOURCE=0修改为:HOST_GLOBAL_CFLAGS+= -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0Android源码下载1、安装repo安装过程步骤如下所示:Repo下载安装1、$ mkdir ~/bin //在home目录下创建bin文件夹2、$ PATH=~/bin:$PA TH //环境变量设置3、$ curl https:///dl/googlesource/git-repo/repo > ~/bin/repo //repo下载4、$ chmod a+x ~/bin/repo //权限设置,保证repo可执行Repo client初始化1、$ mkdir Android //创建Android目录,用于存放下载的android源码2、$ cd Android //进入到Android目录3、$ repo init -u https:///platform/manifest //指定URL清单,指定包含在Android源代码的各种存储库将被安置在工作目录中当然也可以指定android版本,使用如下命令:$ repo init -u https:///platform/manifest -b android-4.0.1_r1Android源码文件获取$ repo sync注意:在Android源码下载过程中凡出现问题,可以进入Android源码下载的相关官方网站/source/downloading.html 进行查看。
Android反编译查看源代码
![Android反编译查看源代码](https://img.taocdn.com/s3/m/cd4f83dc6f1aff00bed51e60.png)
Android是个神奇的货,近两年比较火热,学习他的人也比较多,但是对于很多初学者来说比较头疼,(当然本人也很菜鸟),今天在学习一个安卓项目时,苦于找不到源代码,无奈只好下载网上现成的.apk文件,顿时好奇能不能反编译看到源代码呢?答案是肯定的!让我们行动起来!
首先,我们将文件的后缀名改为.zip。
这时候我们将可以解压这个文件,如图:
此处我们已经看到一个压缩文件了,打开它。
注意我们的重点是.dex 文件
这个classes.dex是个好东西呀!
然后,然后……
我们需要下两个软件:
dex2jar下载地址:/p/dex2jar/
JD-GUI下载地址:http://java.decompiler.free.fr/?q=jdgui
把我们刚找到的classes.dex拷贝到dex2jar的目录下吧(与dex2jar.bat在同一个目录下),然后运行dex2jar.bat classes.dex,将会生成一个文件classes_dex2jar.jar。
快OK 啦~~~~
运行jd-gui.exe 直接将classes_dex2jar.jar 拖进去吧,瞧!我们要的出来了!。
android源码编译及rom制作
![android源码编译及rom制作](https://img.taocdn.com/s3/m/0a062402cc17552706220805.png)
GNU make 3.81-3.82 JDK 6(生成 Gingerbread 或更高版本) JDK 5(Froyo 或旧版本) Git 1.7 或更高版本 gcc/g++ 4.4 (其他版本编译出错)
设置Linux编译环境
安装JDK: Java6:
$ sudo add-apt-repository "deb / lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
一整套编译 100GB 选择编译分支
建议:不要使用虚拟机安装ubuntu编译 1、编译花费时间长,需要内存大 2、如果配置低,可能会卡住不动 3、虚拟机连接手机有问题,很可能不识别,编译前需要从手机拉 配置数据;不能使用fastboot模式刷机
设置Linux编译环境
|-- prebuilt
(x86和arm架构下预编译的一些资源)
|-- sdk
(sdk及模拟器)
|-- system
(文件系统库、应用及组件——C语言)
|-- vendor
(厂商定制代码)
Android源码编译
初始化编译环境 下载代码树 编译 编译内核
sudo chmod a+rx /etc/udev/rules.d/51-android.rules sudo /etc/init.d/udev restart
3.重启adb服务(必须为sudo 已配置android环境变量)
Android_4.2_源码下载和编译环境安装及Android_4.2_源码编译
![Android_4.2_源码下载和编译环境安装及Android_4.2_源码编译](https://img.taocdn.com/s3/m/c085fe8902d276a200292ebb.png)
Android 4.2源码的下载和编译环境的安装及源码的编译Google于2012.11.14发布了Android4.2的源码,下面把本人在ubuntu10.04 的64位系统上下载源码,和编译源码做个记录备份,也供有需要的人参考,若是在下载编译安装Android源代码遇到问题,可加QQ群交流: 217706590,难免有错,敬请见谅,还忘勿吝啬指出。
源代码下载、编译环境安装、源代码编译和运行模拟器的可能出现的一些错误在本文最后一章节,若出现类似错误,可以参考。
1、源码的下载源代码的下载,首先需要安装以下软件:curl 和git-core1.1安装curl:在终端中执行:sudo apt-get install curl1.2安装git-core1.2.1在用户目录下新建bin文件在终端中执行:mkdir ~/bin将~/bin添加环境变量,作用是:要将git软件下载安装在此目录,在别的目录运行可能会找不到此软件,所以要添加到环境变量中在终端中执行:PA TH=~/bin:$PATH1.2.2安装git-core在终端中执行:curl https:///dl/googlesource/git-repo/repo§> ~/bin/repo给repo执行权限:chmod a+x ~/bin/repo1.3 下载源代码1.3.1进入要源代码将要保存的目录如我的源代码保存在:、/opt/android/src在终端中执行:cd /opt/android/src 进入到src目录中1.3.2 获取repo最新的配置repo init -u https:///platform/manifest§若是执行错误则用以下命令:~/bin/repo init -u https:///platform/manifest§1.3.3 下载源代码对于下载不同版本的android,指定一个manifest分支(即只指明android对应的版本),使用-b参数(即下载某个版本的源代码),如:对于4.2的版本,将命令修改为repo init -u https:///platform/manifest§ -b android-4.2_r1若是执行错误则用以下命令:~/bin/repo init -u https:///platform/manifest§ -b android-4.2_r1 执行以上命令后,会在/opt/android/src目录中生成一个.repo的目录,此目录保存了将要下载的源代码的相关信息同步获取源码#~/bin/repo sync如果中间出现中断,这个很正常,你可以再次输入~/bin/repo sync 命令来进行下载。
git方式下载android源代码
![git方式下载android源代码](https://img.taocdn.com/s3/m/3f9fb61efad6195f312ba669.png)
使用repo sync命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似
repo sync project1 project2 …
这样的命令来同步某几个项目
如果是同步Android中的单个项目,只要在项目目录下执行简单的
git pull即可。
4.通过GitWeb下载代码
如果需要某个branch的代码,用git checkout即可。比如我们刚刚拿了kernel/common.get的代码,那就先进入到common目录,然后用下面的命令:
git checkout origin/android-goldfish-2.6.27 -b goldfish
这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27同步。我们可以通过git branch来列出本地的所有分支。
1.创建~/.gitconfig文件,内容为:
[core]
gitProxy = /home/zhangchunyan/bin/git-proxy
2.sudo apt-get install corkscrew
3.将/usr/bin/corkscrew拷贝到~/bin/下
4.编写shell脚本,命名为git-proxy(注意增加上可执行权限),内容为:
用repo sync命令获得当前最新的sourcecode
单独下载内核,用这个
git clone git:///kernel/linux-2.6.git
2.如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:
repo init -u git:///platform/manifest.git -b froyo
自己动手编译Android(LineageOS)源码
![自己动手编译Android(LineageOS)源码](https://img.taocdn.com/s3/m/9ba65f16974bcf84b9d528ea81c758f5f61f29ab.png)
⾃⼰动⼿编译Android(LineageOS)源码⼀、编译LineageOS源码准备设备:⼩⽶ MIX2设备代号:chironAndroid版本:9.0PC配置:系统:Ubuntu18.04⾄少12G RAM⾄少200GB 剩余硬盘空间良好的⽹络环境1.下载并解压SDKsdk中包含fastboot和adb下载wget https:///android/repository/platform-tools-latest-linux.zip解压unzip platform-tools-latest-linux.zip -d ~添加到环境变量gedit ~/.profile输⼊:# add Android SDK platform tools to pathif [ -d "$HOME/platform-tools" ] ; thenPATH="$HOME/platform-tools:$PATH"fi保存。
使改动⽣效:source ~/.profile2.安装依赖安装必要库和⼯具sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev安装openjdk-8-jdksudo apt install -y openjdk-8-jdk3.配置源创建repo存放⽬录mkdir -p ~/bin创建源码存放⽬录mkdir -p ~/android/lineage× 注:请确保该⽬录所在的磁盘有⾜够的空间(⾄少200G)安装repocurl https:///git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo将~/bin放⼊环境变量gedit ~/.profile加⼊:# set PATH so it includes user's private bin if it existsif [ -d "$HOME/bin" ] ; thenPATH="$HOME/bin:$PATH"fi使改动⽣效:source ~/.profile初始化repocd ~/android/lineagerepo init -u https:///LineageOS/android.git -b lineage-16.0× 注:这⾥的lineage-16.0是分⽀名,对应Android 9.0。
Ubuntu12.04下在Android4.0.4源码下载及其编译过程
![Ubuntu12.04下在Android4.0.4源码下载及其编译过程](https://img.taocdn.com/s3/m/aee136dcc1c708a1284a4497.png)
Ubuntu12.04下在Android4.0.4源码下载及其编译过程一、下载源码1、下载工具repo:https:///tools/repo/在本地目录建个bin的文件夹,进入bin文件夹;通过git下载:1.git clone https:///tools/repo下载完成后,进入repo文件夹,切换到稳定分支:1.git checkout -b stable origin/stable将repo命令所在的目录,即/home/yourname/bin/repo添加到环境变量中:1.export PATH=$PATH:~/bin/repo在本地目录下新建目录:android4.0.4,并进入该文件夹:[html]view plaincopy1.cd ~;mkdir android4.0.4;cd android4.0.4;在文件夹下执行下面命令来下载Android源码:1.repo init -u https:///platform/manifest你也可以直接切换到你想要下的版本的分支,而不是“master”分支:1.repo init -u https:///platform/manifest -b android-4.0.4_r2关于到底是哪个分支,根据自己的情况而定,详情可参照:https:///platform/manifest/如你想下载最新的Android4.1代码,即可将分支名称更换成:android-4.1.1_r4你也可以参照官网的下载方式来下载:/source/downloading.html实验证明,我总是在下载那个repo工具的时候,无法连接到相应的地址。
下载是个漫长的过程,下载完成后的大小大概有14G,所以要提前准备好这么大的空间。
下载完成后的目录大概有这些:如图二、编译源码如果你的电脑的环境经常做开发,那么很多环境应该已经搭建好了,如果没有,可以参照官网:/source/initializing.html这里要提醒的是:用apt-get或者ubuntu软件中直接安装的jdk,jre的时候,编译Android是总是编译不过,出现JDK版本不一致的情况;解决办法如下:到oracle官网中下载jdk:/technetwork/java/javase/downloads/index-jsp-138363.html建议下载这个:jdk-6u35-linux-i586.bin下载完成后,运行得到一个jdk1.6.0_35文件夹,然后,将相应的JAVA环境加到系统环境中,简单的可以这样:1.vi ~/.bashrc在.bashrc文件最后添加:1.JAVA_HOME=/home/clw712/tools/jdk1.6.0_352.CLASSPATH=$JAVA_HOME/lib/3.ANDROID_PRODUCT_OUT=/home/clw712/bin/android/out/target/product/generic4.ANDROID=/home/clw712/bin/android5.ANDROID_SWT=/home/clw712/bin/android/out/host/linux-x86/framework6.PATH=$ANDROID/out/host/linux-x86/bin:$ANDROID/prebuilt/android-arm/kernel/:$JAVA_HOME/bin:$ANDROID_PRODUCT_OUT:$PATH7.8.export PATH JAVA_HOME CLASSPATH ANDROID_PRODUCT_OUT ANDROID_SWT当然上述路径还有后面编译好了,用到的路径,是用来运行emulator的。
aid 编译
![aid 编译](https://img.taocdn.com/s3/m/88c52fd0dbef5ef7ba0d4a7302768e9951e76e28.png)
aid 编译AID(Android Indigenous Development)是Android平台的一种原生开发工具,用于开发Android应用。
要编译AID,您可以按照以下步骤操作:1. 安装Android Studio:下载并安装Android Studio,这是Android开发的官方集成开发环境(IDE)。
2. 安装Android NDK:在Android Studio中,打开“工具”>“开发者选项”>“Android NDK”,然后点击“安装”按钮。
3. 配置环境变量:将Android NDK路径添加到系统环境变量中。
这样,您的计算机将能够找到NDK工具链。
4. 创建一个新的Android项目:在Android Studio中,创建一个新的Android项目,可以选择“Empty Activity”或其他预设模板。
5. 编写代码:在项目中编写您的Android应用代码,包括Activity、布局、权限等。
6. 编译应用:在Android Studio中,点击“Build”>“Build Bundle(s) /APK(s)”>“Build APK(s)”按钮。
这将在项目根目录下生成一个APK 文件,其中包含您的编译后的代码。
7. 安装并运行应用:使用Android设备或模拟器安装生成的APK文件,然后运行应用以检查其功能。
注意:编译AID应用与编译其他Android应用类似,但需要注意的是,AID应用可能需要特定的原生模块或代码来实现某些功能。
在编写AID 应用时,请确保遵循Android开发指南和最佳实践。
同时,如果您需要更多关于AID编译的详细信息,您可以查阅相关的开发文档和教程。
不过,由于[准则]的要求,我无法提供更多关于AID 编译的详细信息。
如果您有关于AID的其他问题,请随时提问,我会尽力帮助您。
windows下android源码下载方法
![windows下android源码下载方法](https://img.taocdn.com/s3/m/a4f5f922482fb4daa58d4bb5.png)
1. 首先,到/p/msysgit/downloads/list下载Git-xxx.exe,下载完成后安装Git。
2. Android代码仓库的地址访问该地址。
可以看到Android项目中,所有的包的列表。
单个包源码的下载方式:创建目录,运行Git,在Git提供的shell,切换路径到你刚才创建的目录下(cd命令),然后运行下表命令(以common.git为例)git clone git:///kernel/common.git3.在linux下可以使用repo批量下载,可惜的是repo没有windows 版本。
4. windows直可以使用批量脚本。
脚本文本如下,持贝以下字符一个文本文件中,命名为:autoget.sh,将该文本保存到用来下载源码的目录中。
运行Git,在Git提供的shell,切换路径到你刚才创建的目录下(cd命令),运行./autogit.sh#Create by CreatAutoGetShmkdir kernelcd kernelgit clone git:///kernel/common.gitgit clone git:///kernel/experimental.gitgit clone git:///kernel/msm.gitgit clone git:///kernel/omap.gitcd ..mkdir platformcd platformgit clone git:///platform/bionic.gitmkdir bootablecd bootablemkdir bootloadercd bootloadergit clone git:///platform/bootable/bootloader/legacy.gi tcd ..git clone git:///platform/bootable/diskinstaller.gitgit clone git:///platform/bootable/recovery.git cd ..mkdir bootloadercd bootloadergit clone git:///platform/bootloader/legacy.git cd ..git clone git:///platform/build.gitgit clone git:///platform/dalvik.gitgit clone git:///platform/development.git mkdir externalcd externalgit clone git:///platform/external/aes.gitgit clone git:///platform/external/alsa-lib.git git clone git:///platform/external/alsa-utils.git git clone git:///platform/external/apache-http.gitgit clone git:///platform/external/astl.gitgit clone git:///platform/external/bison.gitgit clone git:///platform/external/bluez.gitgit clone git:///platform/external/bzip2.gitgit clone git:///platform/external/clearsilver.gitgit clone git:///platform/external/dbus.gitgit clone git:///platform/external/dhcpcd.git git clone git:///platform/external/dosfstools.gitgit clone git:///platform/external/dropbear.git git clone git:///platform/external/e2fsprogs.gitgit clone git:///platform/external/eglib.gitgit clone git:///platform/external/elfcopy.git git clone git:///platform/external/elfutils.git git clone git:///platform/external/embunit.git git clone git:///platform/external/emma.git git clone git:///platform/external/esd.gitgit clone git:///platform/external/expat.gitgit clone git:///platform/external/fdlibm.git git clone git:///platform/external/freetype.git git clone git:///platform/external/fsck_msdos.gitgit clone git:///platform/external/genext2fs.gitgit clone git:///platform/external/giflib.gitgit clone git:///platform/external/googleclient.gitgit clone git:///platform/external/grub.gitgit clone git:///platform/external/gtest.gitgit clone git:///platform/external/hcidump.git git clone git:///platform/external/icu4c.gitgit clone git:///platform/external/iptables.git git clone git:///platform/external/jdiff.gitgit clone git:///platform/external/jhead.gitgit clone git:///platform/external/jpeg.gitgit clone git:///platform/external/junit.gitgit clone git:///platform/external/lcc.gitgit clone git:///platform/external/libffi.gitgit clone git:///platform/external/libpcap.git git clone git:///platform/external/libpng.git git clone git:///platform/external/libxml2.git git clone git:///platform/external/mtpd.gitgit clone git:///platform/external/netcat.gitgit clone git:///platform/external/neven.git git clone git:///platform/external/opencore.gitgit clone git:///platform/external/openssl.git git clone git:///platform/external/oprofile.git git clone git:///platform/external/ping.gitgit clone git:///platform/external/ppp.gitgit clone git:///platform/external/protobuf.git git clone git:///platform/external/qemu.gitgit clone git:///platform/external/safe-iop.git git clone git:///platform/external/skia.gitgit clone git:///platform/external/sonivox.git git clone git:///platform/external/sqlite.gitgit clone git:///platform/external/srec.gitgit clone git:///platform/external/strace.git git clone git:///platform/external/tagsoup.git git clone git:///platform/external/tcpdump.git git clone git:///platform/external/tesseract.git git clone git:///platform/external/tinyxml.git git clone git:///platform/external/tremor.git git clone git:///platform/external/webkit.gitgit:///platform/external/wpa_supplicant.git git clone git:///platform/external/xdelta3.git git clone git:///platform/external/yaffs2.gitgit clone git:///platform/external/zlib.gitcd ..mkdir frameworkscd frameworksgit clone git:///platform/frameworks/base.git mkdir optcd optgit clone git:///platform/frameworks/opt/com.google.a ndroid.gitgit clone git:///platform/frameworks/opt/com.google.a ndroid.googlelogin.gitgit clone git:///platform/frameworks/opt/emoji.gitcd ..mkdir policiescd policiesgit:///platform/frameworks/policies/base.git cd ..cd ..mkdir hardwarecd hardwaregit clone git:///platform/hardware/alsa_sound.gitgit clone git:///platform/hardware/libhardware.gitgit clone git:///platform/hardware/libhardware_legacy. gitgit clone git:///platform/hardware/msm7k.git git clone git:///platform/hardware/ril.gitcd ..git clone git:///platform/manifest.gitmkdir packagescd packagesmkdir appscd appsgit clonegit:///platform/packages/apps/AlarmClock.git git clone git:///platform/packages/apps/Browser.gitgit clone git:///platform/packages/apps/Calculator.git git clone git:///platform/packages/apps/Calendar.git git clone git:///platform/packages/apps/Camera.gitgit clone git:///platform/packages/apps/Contacts.git git clone git:///platform/packages/apps/Email.gitgit clone git:///platform/packages/apps/GoogleSearch. gitgit clone git:///platform/packages/apps/HTMLViewer.gi tgit clone git:///platform/packages/apps/IM.git git clone git:///platform/packages/apps/Launcher.gitgit clone git:///platform/packages/apps/Mms.gitgit clone git:///platform/packages/apps/Music.gitgit clone git:///platform/packages/apps/OTAProvisionin gClient.gitgit clone git:///platform/packages/apps/PackageInstall er.gitgit clone git:///platform/packages/apps/Phone.gitgit clone git:///platform/packages/apps/Settings.gitgit clone git:///platform/packages/apps/SoundRecorder .gitgit clone git:///platform/packages/apps/Stk.gitgit clone git:///platform/packages/apps/Sync.gitgit clonegit:///platform/packages/apps/Updater.gitgit clone git:///platform/packages/apps/VoiceDialer.git cd ..mkdir inputmethodscd inputmethodsgit clone git:///platform/packages/inputmethods/LatinI ME.gitgit clone git:///platform/packages/inputmethods/Open Wnn.gitgit clone git:///platform/packages/inputmethods/Pinyi nIME.gitcd ..mkdir providerscd providersgit clone git:///platform/packages/providers/Applicatio nsProvider.gitgit clonegit:///platform/packages/providers/CalendarP rovider.gitgit clone git:///platform/packages/providers/ContactsP rovider.gitgit clone git:///platform/packages/providers/Download Provider.gitgit clone git:///platform/packages/providers/DrmProvi der.gitgit clone git:///platform/packages/providers/GoogleCo ntactsProvider.gitgit clone git:///platform/packages/providers/GoogleSu bscribedFeedsProvider.gitgit clone git:///platform/packages/providers/ImProvide r.gitgit clone git:///platform/packages/providers/MediaProvider.gitgit clone git:///platform/packages/providers/Telephony Provider.gitgit clone git:///platform/packages/providers/UserDictio naryProvider.gitcd ..cd ..git clone git:///platform/prebuilt.gitgit clone git:///platform/recovery.gitmkdir systemcd systemgit clone git:///platform/system/bluetooth.git git clone git:///platform/system/core.gitgit clone git:///platform/system/extras.git mkdir wlancd wlangit clone git:///platform/system/wlan/broadcom.gitgit clone git:///platform/system/wlan/ti.gitcd ..cd ..mkdir vendorcd vendormkdir asuscd asusgit clone git:///platform/vendor/asus/eee_701.gitcd ..mkdir csrcd csrgit clone git:///platform/vendor/csr/unifi-105x.gitgit clone git:///platform/vendor/csr/unifi-60xx.gitcd ..mkdir htccd htcgit clone git:///platform/vendor/htc/dream-open.git cd ..mkdir qcomcd qcomgit clone git:///platform/vendor/qcom/surf.git cd ..cd ..cd ..mkdir toolscd toolsgit clone git:///tools/android-issuetrackerredirect.git git clone git:///tools/executablewar.gitgit clone git:///tools/gerrit-contactstore.gitgit clone git:///tools/gerrit-keyapplet.gitgit clone git:///tools/gerrit.gitgit clone git:///tools/gimd.gitgit clone git:///tools/gwtexpui.gitgit clone git:///tools/gwtjsonrpc.gitgit clone git:///tools/gwtorm.gitgit clone git:///tools/manifest.gitgit clone git:///tools/protobuf.gitgit clone git:///tools/repo.gitmkdir testcd testgit clone git:///tools/test/manifest.gitgit clone git:///tools/test/project0.git5. Android的代码库结构改变后,以上脚本将不能适应改变后的结构。
Ubentu编译Android源码(AOSP)
![Ubentu编译Android源码(AOSP)](https://img.taocdn.com/s3/m/6b10d8cf8ad63186bceb19e8b8f67c1cfad6eeb1.png)
Ubentu编译Android源码(AOSP)前⾔:⼀直想要编译⼀下Android 源码,之前去google 看,下载要下载repo。
当时很懵逼,repo 是个什么?(repo 是⼀个python 脚本,因为Android 源码git 仓库太多,帮助管理git 仓库的,你不需要知道⾥⾯什么实现。
会⽤就⾏。
)然后往下看,看到⽹上说,编译Android AOSP 只能⽤Ubuntu,当时⾃⼰的⼼也哇哇凉啊。
⾃⼰只有⼀个⼯作的电脑,⾃⼰的电脑配置太低。
看⽹上说,还要200G 的空间。
(有⼀个拦路虎)之前⾃⼰给⾃⼰的windos 安装过双系统,但是好像⼀直启动不了。
现在想想,应该是因为当时没有设置引导盘的顺序吧。
现在我⽤⼀个usb 连接了⼀个1T的硬盘,⾥⾯安装了Ubentu . 如果我插了这个硬盘,启动的就是ubuntu, 如果没有,就是⼯作的windows 。
⼯作学习两不误。
不知道什么动⼒让我突破了所有上⾯的拦路虎,依然决然去编译源码。
⾯试的时候,别⼈提到过,我说我想,但是没有做到,别⼈说,那么你为了编译源码,你第⼀步应该怎么做? 我说⾸先下载源码,安装Ubuntu。
终于⼀步⼀步⾛过来了。
感谢⾯试的那个⼈给我指点,让我思考。
⼀路⾛来,少些艰⾟。
下载代码⽤了两天,还是下载的清华镜像的,公司的⽹太慢了,43G 下载了两天,然后正好周末,编译成功花费了两天周末时间,但是还是很值得的。
⾥⾯有很多坑,给⼤家分享下。
下载AOSP:google 的AOSP 的话,因为FQ和数据量太⼤,考虑国内的镜像。
这个⽹址是清华⼤学的镜像站。
由于⾸次同步需要下载约 30GB 数据,过程中任何⽹络故障都可能造成同步失败,我们强烈建议您使⽤初始化包进⾏初始化。
也就是我们直接下载⼀个git仓库。
这样的话,不会说,⽂件太⼤,git clone 的时候⽼是中断。
下载下载完成后记得根据 checksum.txt 的内容校验⼀下。
当时我是⽤Windows 迅雷下载的⽂件。
activitymangerservice 编译
![activitymangerservice 编译](https://img.taocdn.com/s3/m/5111c123bb1aa8114431b90d6c85ec3a87c28ba5.png)
activitymangerservice 编译ActivityManagerService是Android系统中的重要组件之一,它负责管理应用程序的生命周期、进程等资源。
在进行Android系统的开发时,需要对ActivityManagerService进行编译。
下面,本文将分步骤阐述ActivityManagerService的编译过程。
1.下载Android源代码首先,需要从官方网站下载Android源代码。
在下载之前,需要确认自己的计算机上已经安装了Git。
2.配置编译环境在下载完成Android源代码之后,需要配置编译环境。
在Terminal中,输入以下命令:$ source build/envsetup.sh$ lunch aosp_<device>-userdebug其中,<device>是你的设备代号。
需要注意的是,这里的lunch 命令用于设置编译环境的变量。
在执行该命令之后,会以交互式的方式让你选择需要编译的模块。
3.编译ActivityManagerService在完成环境配置之后,可以进行ActivityManagerService的编译。
在Terminal中,输入以下命令:$ make ActivityManagerService该命令会将ActivityManagerService编译成可执行文件。
需要注意的是,如果在编译过程中出现任何错误,需要检查环境是否配置正确。
4.使用编译后的ActivityManagerService当ActivityManagerService编译完成后,可以将它部署到Android系统中。
在完成部署之后,可以使用ActivityManagerService来管理应用程序的生命周期、进程等资源。
综上所述,ActivityManagerService是Android中的重要组件之一,它负责管理应用程序的生命周期、进程等资源。
android4.1编译
![android4.1编译](https://img.taocdn.com/s3/m/af341cf19e31433239689349.png)
Android4.1.4编译1、下载源码:我是在ics版本的基础上通过repo sync更新,发现有了android 4_1_r1的分支,等待更新完,repo branch 切换分支,然后. Build/envsetup.she 然后lunch 1 选择full-eng 最后make ,过一会报错。
提示:build/core/product_config.mk:193: *** _nic.PRODUCTS.[[build/target/product/vbox_x86.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.** Don't have a product spec for: 'full'** Do you have the right repo manifest?Google baidu bing了大半天终于在android的bug单中找到了这条bug,解答是源码不全。
愁了半天,repo sync 都是最新的,愁了半天,最后再ics的repo中重新下了个android4.1.4的分支。
repo init -u https:///platform/manifest -b android-4.1.1_r4repo sync下载3个小时,终于下载完成,本来下载源码需要很长时间5~10个小时,由于再ics的基础上下载,只需要把patch下载就行了(repo会自动完成)。
兴奋啊,赶紧.Build/envsetup.shlunch 1 full-eng警告:/bin/bash:prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: 无法执行二进制文件/bin/bash:prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: 无法执行二进制文件/bin/bash:prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: 无法执行二进制文件先没管它,继续机制行make cleanmake -j8过了几分钟提示错误:host StaticLib: libhost (out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)ERROR:prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linu x-ar only run on 64-bit linuxmake: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a] 错误 1host C: emulator-target-i386 <= external/qemu/cpus.chost C: emulator-target-i386 <= external/qemu/arch_init.chost C: emulator-target-i386 <= external/qemu/os-posix.chost C: emulator-target-i386 <= external/qemu/oslib-posix.chost C: emulator64-arm <= external/qemu/audio/audio.chost C: emulator64-arm <= external/qemu/disas.cERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-gcc only run on 64-bit linuxmake: *** [out/host/linux-x86/obj/EXECUTABLES/emulator64-arm_intermediates/disas.o] Error 1make: *** Waiting for unfinished jobs....ERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-gcc only run on 64-bit linuxmake: *** [out/host/linux-x86/obj/EXECUTABLES/emulator64-arm_intermediates/audio/audio.o] Error 1又陷入郁闷,google baidu了好半天,都没找到解决方案,不过找到了提示,就是谷歌推荐使用64位的ubuntu 10.04 来编译,很多配置都是基于64来的,所以32位系统编译会遇到很多问题。
Ubuntu 10.04(64位)下载并编译 Android 2.2 源码
![Ubuntu 10.04(64位)下载并编译 Android 2.2 源码](https://img.taocdn.com/s3/m/b6c2e00716fc700abb68fcfb.png)
Ubuntu 10.04(64位)下载并编译Android 2.2 源码[只有11条命令]为了方便,我把所有操作写成了命令,按顺序(软件安装--源码下载--编译)执行成功即可:1. sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-devlibx11-dev lib32readline5-dev lib32z-dev java-common unixodbc2. sudo apt-get install sun-java6-jdk3. cd4. mkdir -p software/bin5. curl /repo >software/bin/repo6. chmod a+x software/bin/repo7. mkdir -p software/android/src/new8. cd software/android/src/new9. repo init -u git:///platform/manifest.git -b froyo10. repo sync11. make -j4=========================================================== ======================================================== 1.前言本文叙述了如何从零开始搭建基于Google官方Android 2.2.1(froyo)源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。
文中开发机是基于Ubuntu 10.04的,同样适用于其他版本的Ubuntu。
Ubuntu 10.04下编译Android源码全过程
![Ubuntu 10.04下编译Android源码全过程](https://img.taocdn.com/s3/m/c130b16648d7c1c708a14551.png)
Ubuntu 10.04下编译Android源码全过程一、获取Android源代码Git是Linux Torvalds(Linux之父)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。
在集中式版本控制系统中只有一个仓库(Repository),许多个工作目录(Working Copy),而在Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们支持离线工作,本地提交可以稍后提交到服务器上。
因为Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多个项目组成,如果我们分别使用Git来逐个获取显得很麻烦,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得项目的获取更加简单。
在Ubuntu 8.04上安装Git只需要设定正确的更新源,然后使用apt-get就可以了,apt-get是一条Linux命令,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
sudo apt-get install git-core curl这条命令会从互联网的软件仓库中安装git-core和curl。
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。
curl /repo >~/bin/repo这句命令会下载repo脚本文件到当前主目录的/bin目录下,并保存在文件repo中。
android-database-sqlcipher源码编译
![android-database-sqlcipher源码编译](https://img.taocdn.com/s3/m/95f0cf765b8102d276a20029bd64783e09127d8a.png)
android-database-sqlcipher源码编译
编译android-database-sqlcipher源码需要Android开发环境以及相应的编译工具。
以下是大致的步骤:
步骤概述:
1.下载源码:从android-database-sqlcipher的官方存储库中获取源代码。
2.配置环境:确保你的系统已安装了Android开发环境和相应的工具,例如
Android Studio、Android SDK和NDK。
3.构建项目:使用Android Studio或命令行工具构建项目。
更详细的步骤:
1.克隆存储库:获取源代码,可以使用Git克隆存储库:gitclone输入网站
sqlcipher/android-database-sqlcipher.git
2.打开项目:在Android Studio中打开项目,等待Gradle同步完成。
3.构建项目:在Android Studio中,使用构建菜单中的“Make Project”或
使用Gradle命令构建项目。
4.处理依赖项:确保项目中的依赖项正确配置和处理。
可能需要在项目的构建
脚本中添加任何必要的依赖项或配置。
5.构建命令行:如果你想使用命令行编译,你可以使用Gradle命令。
进入项
目目录并执行:./gradlew assemble
注意,这只是一个基本的步骤指南。
实际的编译可能会因项目设置、依赖关系或其他因素而有所不同。
确保查阅android-database-sqlcipher存储库中的文档或README文件,以获取详细的编译说明和特定于该项目的指南。
android源码编译流程
![android源码编译流程](https://img.taocdn.com/s3/m/4f4c71ea2dc58bd63186bceb19e8b8f67c1cef04.png)
android源码编译流程Android系统源代码是开源的,任何有兴趣的人都可以下载、阅读和修改它。
但是,为了保证该系统在各种硬件上的流畅运行,需要对Android源码进行编译。
以下是Android源码编译的流程:1. 安装编译环境编译Android源码需要安装一些必要的工具。
首先需要安装JDK(Java Development Kit),其次需要安装Android SDK(Software Development Kit)和NDK(Native Development Kit)。
此外,还需要安装Git和Repo工具,用于获取和同步源代码。
2. 下载源代码在安装好编译环境之后,需要从官方网站下载Android源代码。
这个过程可能需要一段时间,并且需要高速稳定的网络连接。
下载完成后,将源代码存储在本地磁盘上。
3. 初始化和同步源代码使用Repo工具初始化本地文件夹和Git工作区。
初始化完成之后,需要对代码库进行同步操作以确保源代码是最新的。
同步的过程可能需要几个小时,取决于网络速度和源代码树的大小。
4. 设置编译环境针对不同的设备和平台,需要配置不同的编译环境。
在此步骤中,需要设置所需的环境变量和其他相关的参数,例如,配置JDK路径、选择目标平台和设备、设置NDK路径等等。
5. 生成MakefileAndroid源代码使用GNU Make来构建,因此需要生成一个Makefile列表。
这个过程使用根目录下的build/envsetup.sh文件来完成。
一旦生成了Makefile,就可以开始编译Android源代码了。
6. 执行编译执行编译操作是最耗时的部分,需要等待一段时间才能完成。
编译和构建过程是一个逐步递进的过程。
首先需要编译基础库,然后编译各个组件和应用程序。
这个过程需要在控制台中执行一系列的命令,并且需要注意一些错误和警告消息。
7. 生成系统映像一旦编译完成,在源代码树下的out目录中就会生成一个system.img文件,这是Android系统的镜像文件。
编译android framwork代码
![编译android framwork代码](https://img.taocdn.com/s3/m/c7d5cdb68662caaedd3383c4bb4cf7ec4afeb6df.png)
编译android framwork代码编译AndroidFramework代码是Android开发者必备技能之一。
因为AndroidFramework是整个Android系统的核心,包含了大量的类库、服务、API等,所以掌握其编译方法是非常必要的。
下面是编译Android Framework代码的具体步骤:1. 准备环境要编译Android Framework代码,首先需要安装好Java JDK、Android SDK和NDK,并配置好环境变量。
同时,还需要安装好相关的编译工具,如make、gcc、g++等。
2. 获取源码要编译Android Framework代码,必须先获取其源码。
Android Framework的源码可以从官方网站或GitHub上下载,具体方法可以参考官方文档。
3. 配置编译环境在获取源码后,需要配置编译环境。
具体方法如下:1)进入源码根目录2)执行以下命令:source build/envsetup.shlunch3)选择要编译的目标设备,比如选择“aosp_arm-eng”4)执行以下命令:make -j4其中“-j4”表示使用4个线程进行编译,可以根据自己的电脑配置进行修改。
4. 等待编译完成编译时间较长,一般需要数小时甚至一整天才能完成。
编译过程中会生成大量的日志和输出信息,可以通过控制台查看。
5. 执行编译后的代码编译完成后,会在源码目录下的“out/target/product/设备名/”目录下生成编译后的代码。
可以通过adb命令将其安装到设备上进行测试。
以上就是编译Android Framework代码的具体步骤。
通过掌握这些基本知识,可以更好地进行Android Framework开发。
搭建Android源码编译环境
![搭建Android源码编译环境](https://img.taocdn.com/s3/m/ee3c48186bd97f192279e93d.png)
Android 2.3.1 的源代码并在 Ubuntu 10.04(32 位)上编译通过。
这篇文章简 要记录了下载、编译的过程。
关于搭建 Android 开发环境的文章已经有很多,本文只简要介绍一下,做为备 忘。
[ 编译前的准备 ] 这一步安装获取源代码以及编译所需要的软件,使用如下命令:$ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 另外,参考别人编译 Android 2.3 的经验,安装了下列软件包:$ sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6 虽然 Android 官方网站上讲不支持 Java 6,不过我使用 Java 6 也可以编译通 过,所以在这里 Easwy 安装的是 Java 6。
首先去掉/etc/apt/sources.list 中 这两行的注释,使能 Java 6 源:deb /ubuntu lucid partner deb-src /ubuntu lucid partner 然后安装 Java 6 JDK:$ sudo aptitude install sun-java6-jdk1接下来下载 repo 工具,这是 Google 提供的一个 Python 脚本,方便管理多个 Git 版本库:$ cd ~ $ mkdir bin $ curl /repo >~/bin/repo $ chmod a+x ~/bin/repo 记得把 repo 加到你的路径中, 方便以后使用。
编辑~/.bashrc, 加入下面一行:PATH=$PATH:~/bin export PATH 然后用命令. ~/.bashrc,以后就可以直接使用 repo 命令了。