当前位置:首页 » 编程软件 » android源码sdk编译

android源码sdk编译

发布时间: 2022-06-07 19:49:57

‘壹’ 如何编译android sdk

如果没有真正开发板,又想深入到android
framework里,或kernel里的话,就只能用android
的emulator了。
但是我们下载的android
SDK没有源代码,我们没办法跟踪修改framework和kernel里的东西。
所以有了想尝试自己从头生成SDK的想法。
1.
首先下载编译android所有source
code.
具体步骤这里不再赘述,参考ht
tp:/
/source.and
roid.c
om/download
cd
mydroid
repo
init
-u
git://android.git.kernel.org/platform/manifest.git
repo
sync
一点小提示:
有时候google的android服务器老是断,总不能让我们守在电脑旁边一直手工重新repo
sync吧,这可是需要N个小时才能下载完的啊。
我们就写个小脚本让电脑自动repo
sync,直到下载成功为止:
#!/bin/sh
count=0
ret=1
while
[
$ret
-ne
0
]
do
repo
sync
ret=$?
count=$((
$count
+
1))
echo
"try
$count,
ret:
$ret"
done
echo
"try
$count,
ret:
$ret"
把上面的内容复制到一个文件里tryrepo.sh
然后修改tryrepo.sh的属性,开始自动工作吧。第二点早上应该就大功告成了
chmod
a+x
tryrepo.sh
./tryrepo.sh
2.
编译android,
生成SDK
make
sdk
漫长的等待之后,SDK生成了,在目录:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
在linux下面可以直接运行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android
就可以看到熟悉的android
emulator启动界面。
如果想在windows
XP下使用这个SDK和emulator,
最简单的方法是:
(1)自己下载一个最新的windows版本的android
2.0
SDK。
(2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的东西复制到windows版SDK的platforms下。
(3)
然后把platforms下android-2.0下tools目录下的几个.exe文件复制到自己编译的SDK目录下的tools目录下。

‘贰’ 如何用android sdk编译源代码

创建一个android虚拟机,然后在编译的时候选择哪个虚拟机。另安卓虚拟机得开好久

‘叁’ 如何在linux下编译windows版android sdk-czxttkl

1.下好Android源码
2.在Terminal中输入:$ sudo apt-get install mingw32
tofrodos

mingw32是一个交叉编译器,
tofrodos用于unix和dos之间命令转换

映像中交叉编译器的定义是能跨平台编译某些代码所需要的东西.

其他的还得仔细研究

3. 先编译好默认的android平台和linux版的sdk,在Terminal中跳转到android源码目录,输入:

$
. build/envsetup.sh
$ lunch full-eng
$
make

$
. build/envsetup.sh
$ lunch sdk-eng
$ make
sdk

若不先编译android默认的平台和linux版的sdk,很可能产生不可预知的错误,例如:

Error:

Install:
out/host/windows-x86/bin/sdklauncher.exe
make[1]: *** No rule to make
target out/host/linux-x86/bin/emugen,
needed
by
`out/host/windows-x86/obj/STATIC_LIBRARIES/
lib_renderControl_dec_intermediates/renderControl_dec.cpp'.
Stop.
make[1]: Leaving directory
make: *** [winsdk-tools] Error
2

4.正式开始编译windows版的android
sdk。在Terminal中跳转到android源码目录,输入:

$ . build/envsetup.sh
$ lunch
sdk-eng
$
make win_sdk

5.最后生成的sdk位于:
ANDROID_SOURCE_ROOT/out/host/windows/sdk

‘肆’ 自己可以编译安卓源码吗

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ‘伍’ 编译android 源码需要sdk环境吗

    下面是android学习手册,可以查看编译源码,360手机助手中下载,

    编译环境:ubuntu9.10,widnows平台目前不被支持。

    1)安装必要的软件环境

    $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

    官方推荐的就是上面这些,如果在编译过程中发现某些命令找不到,就apt-get它。可能需要的包还有:

    $ 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-java6-jdk可出问题,得要用sun-java5- jdk。经测试发现,如果仅仅make(make不包括make sdk),用sun-java6-jdk是没有问题的。而make sdk,就会有问题,严格来说是在make doc出问题,它需要的javadoc版本为1.5。

    因此,我们安装完sun-java6-jdk后最好再安装sun-java5-jdk,或者只安装sun-java5-jdk。这里sun-java6-jdk和sun-java5-jdk都安装,并只修改javadoc.1.gz和javadoc。因为只有这两个是make sdk用到的。这样的话,除了javadoc工具是用1.5版本,其它均用1.6版本:

    $ sudo apt-get install sun-java6-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

    2)设置环境变量

    $ emacs ~/.bashrc

    在.bashrc中新增或整合PATH变量,如下:

    #java 程序开发/运行的一些环境变量

    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

    3)安装repo(用来更新android源码)

    创建~/bin目录,用来存放repo程序,如下:

    $ cd ~
    $ mkdir bin

    并加到环境变量PATH中,在第2步中已经加入。

    下载repo脚本并使其可执行:

    $ curlhttp://android.git.kernel.org/repo>~/bin/repo
    $ chmod a+x ~/bin/repo

    4)初始化repo

    repo是android对git的一个封装,简化了一些git的操作。

    创建工程目录:

    $ mkdir android
    $ cd android

    repo初始化:

    $ repo init -u git://android.git.kernel.org/platform/manifest.git

    在此过程中需要输入名字和email地址。初始化成功后,会显示:

    repo initialized in /android

    在~/android下会有一个.repo的隐藏目录。

    5)同步源代码

    $ repo sync

    这一步要很久很久。

    6)编译android源码,并得到~/android/out目录

    $ cd ~/andoird
    $ make

    这一过程很久。

    7)在模拟器上运行编译好的android

    编译好android之后,emulator在~/android/out/host/linux-x86/bin下,ramdisk.img,system.img和userdata.img则在~/android/out/target/proct/generic下。

    $ cd ~/android/out/host/linux-x86/bin

    增加环境变量

    $ emacs ~/.bashrc

    在.bashrc中新增环境变量,如下

    #java 程序开发/运行的一些环境变量

    export ANDROID_PRODUCT_OUT=~/android/out/target/proct/generic
    ANDROID_PRODUCT_OUT_BIN=~/android/out/host/linux-x86/bin
    export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};

    最后,同步这些变化:

    $ source ~/.bashrc
    $ cd ~/android/out/target/proct/generic
    $ emulator -system system.img -data userdata.img -ramdisk ramdisk.img

    最后进入android桌面,就说明成功了。

    8)编译模块

    android中的一个应用程序可以单独编译,编译后要重新生成system.img。

    在源码目录下执行

    $ . build/envsetup.sh (.后面有空格)

    就多出一些命令:

    - croot: Changes directory to the top of the tree.
    - m: Makes from the top of the tree.
    - mm: Builds all of the moles in the current directory.
    - mmm: Builds all of the moles in the supplied directories.
    - cgrep: Greps on all local C/C++ files.
    - jgrep: Greps on all local Java files.
    - resgrep: Greps on all local res/*.xml files.
    - godir: Go to the directory containing a file.

    可以加—help查看用法。

    我们可以使用mmm来编译指定目录的模块,如编译联系人:

    $ mmm packages/apps/Contacts/

    编完之后生成两个文件:

    out/target/proct/generic/data/app/ContactsTests.apk
    out/target/proct/generic/system/app/Contacts.apk

    可以使用

    $ make snod

    重新生成system.img,再运行模拟器。

    9)编译SDK

    直接执行make是不包括make sdk的。make sdk用来生成SDK,这样,我们就可以用与源码同步的SDK来开发android了。

    a)修改/frameworks/base/include/utils/Asset.h

    ‘UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024’ 改为 ‘UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024’

    原因是eclipse编译工程需要大于1.3M的buffer;

    b)编译ADT

    由于本人不使用eclipse,所以没有进行这步;

    c)执行make sdk

    注意,这里需要的javadoc版本为1.5,所以你需要在步骤1中同时安装sun-java5-jdk

    $ make sdk

    编译很慢。编译后生成的SDK存放在out/host/linux-x86/sdk/,此目录下有android-sdk_eng.xxx_linux- x86.zip和android-sdk_eng.xxx_linux-x86目录。android-sdk_eng.xxx_linux-x86就是 SDK目录。

    实际上,当用mmm命令编译模块时,一样会把SDK的输出文件清除,因此,最好把android-sdk_eng.xxx_linux-x86移出来。

    此后的应用开发,就在该SDK上进行,所以把7)对于~/.bashrc的修改注释掉,增加如下一行:

    export PATH=${PATH}:~/android/out/host/linux-x86/sdk/android-sdk_eng.xxx_linux-x86/tools

    注意要把xxx换成真实的路径;

    d)关于环境变量、android工具的选择

    目前的android工具有:

    A、我们从网上下载的Android SDK,如果你下载过的话( tools下有许多android工具,lib/images下有img映像)
    B、我们用make sdk编译出来的SDK( tools下也有许多android工具,lib/images下有img映像)
    C、我们用make编译出来的out目录( tools下也有许多android工具,lib/images下有img映像)

    那么我们应该用那些工具和img呢?

    首先,我们一般不会用A选项的工具和img,因为一般来说它比较旧,也源码不同步。其次,也不会用C选项的工具和img,因为这些工具和img没有经过SDK的归类处理,会有工具和配置找不到的情况;事实上,make sdk产生的很多工具和img,在make编译出来out目录的时候,已经编译产生了,make sdk只是做了而已。

    e)安装、配置ADT
    略过;

    f)创建Android Virtual Device

    编译出来的SDK是没有AVD(Android Virtual Device)的,我们可以通过android工具查看:

    $ android list

    创建AVD:

    $ android create avd -t 1 -n myavd

    可以android –help来查看上面命令选项的用法。创建中有一些选项,默认就行了。

    再执行android list,可以看到AVD存放的位置。

    以后每次运行emulator都要加-avd myavd或@myavd选项:

    $ emulator -avd myavd

    10)编译linux内核映像

    a)准备交叉编译工具链

    android代码树中有一个prebuilt项目,包含了我们编译内核所需的交叉编译工具。

    b)设定环境变量

    $ emacs ~/.bashrc

    增加如下两行:

    export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
    export ARCH=arm

    保存后,同步变化:

    $ source ~/.bashrc

    c)获得合适的内核源代码

    $ cd ~/android

    获得内核源代码仓库

    $ git clone git://android.git.kernel.org/kernel/common.git kernel
    $ cd kernel
    $ git branch

    显示

    * android-2.6.27

    说明你现在在android-2.6.27这个分支上,也是kernel/common.git的默认主分支。

    显示所有head分支:

    $ git branch -a

    显示

    * android-2.6.27
    remotes/origin/HEAD -> origin/android-2.6.27
    remotes/origin/android-2.6.25
    remotes/origin/android-2.6.27
    remotes/origin/android-2.6.29
    remotes/origin/android-goldfish-2.6.27
    remotes/origin/android-goldfish-2.6.29

    我们选取最新的android-goldfish-2.6.29,其中goldfish是android的模拟器模拟的CPU。

    $ git checkout -b android-goldfish-2.6.29 origin/android-goldfish-2.6.29
    $ git branch

    显示

    android-2.6.27
    * android-goldfish-2.6.29

    我们已经工作在android-goldfish-2.6.29分支上了。

    d)设定交叉编译参数

    打开kernel目录下的Makefile文件,把CROSS_COMPILE指向刚才下载的prebuilt中的arm-eabi编译器.

    CROSS_COMPILE ?= arm-eabi-

    LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,
    $(call ld-option, -Wl$(comma)–build-id,))

    这一行注释掉,并且添加一个空的LDFLAGS_BUILD_ID定义,如下:

    LDFLAGS_BUILD_ID =

    e)编译内核映像

    $ cd ~/android/kernel
    $ make goldfish_defconfig
    $ make

    f)测试生成的内核映像

    $ emulator -avd myavd -kernel ~/android/kernel/arch/arm/boot/zImage

    ‘陆’ android sdk多个版本 编译用哪个

    永远只用最新的SDK版本,这是Google官方强烈建议的。开发者的app能运行的Android版本不是由SDK决定的,是由每一个项目的minSDK决定的。SDK都是向下兼容的。SDK在不断改进中,新的SDK会提供更强大开发工具,而且用4.0的SDK编译的2.1的apk的执行效率会比用2.1的SDK编译的更高。
    至于每个app应该用什么minSDK ,应该根据应用具体的API来,如果app没有用到1.6以上SDK新提供的API,那么用1.6会在提供相同体验下反而会比2.1兼容更多机型.

    附谷歌原版建议:
    In order to provide the best user experience on the latest devices, we recommend that you use the latest platform version as your build target. You'll still be able to run your app on older versions, but you must build against the latest version in order to use new features when running on devices with the latest version of Android.To get started, download the latest Android version, plus the lowest version you plan to support (we recommend Android 2.2 for your lowest version).

    ‘柒’ 如何在Ubuntu编译Android2.3源代码以及制作自己的SDK

    网上下一个软碟通软通(UitraISO)工具、然后去官网上下载一个64位ubuntu.*.iso系统文件、然后软碟通工具自己制作一个USB启动盘(非常简单)不会用软碟通的网络一下一大把!、系统最好是10.40以上的版本

    使用的是ubuntu官网下载的ubuntu10.04 LTS 64位版本(ubuntu-10.04.2-desktop-amd64.iso)

    配置软件源:

    系统安装完毕以后应该首先换一个速度快的软件源

    一般用的是ubunt

    不然下载各种更新和软件包的时候非常的慢

    安装JDK:

    我要编译的是2.3姜饼的源代码 所以需要使用jdk6 (还需要是64位的系统)

    如果是32为系统藐视jdk要安装jdk5.0的吧!藐视说有个doc什么的不行!所以系统一般装64的、如果是32的小伙们赶快把jdk看看

    安装方法:

    打开终端

    输入

    sudo add-apt-repository "deb "

    sudo add-apt-repository "deb-src "

    sudo apt-get update

    sudo apt-get install sun-java6-jdk

    就安装好了 (ubuntu10.04 LTS版会自带那两个源)

    并且不需要配置环境变量

    这一步可以参考

    安装各种软件包:

    终端中输入

    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 texinfo libsdl-dev libwxgtk2.6-dev

    最后三个是我补充的 其他都是官方文档提供的

    这一步可以参考

    下载源代码:

    打开终端并输入

    mkdir ~/bin

    PATH=~/bin:$PATH

    这两句是在你的个人文件夹下创建了一个名字叫bin的文件夹 并且把其加入到了环境变量中

    再输入

    curl ; ~/bin/repo

    chmod a+x ~/bin/repo

    这两句首先在bin目录下面下载了一个repo文件 repo简单来说就说用来版本控制的 我们就是用的它来同步代码

    然后建立一个用来存放源代码的文件夹 我的这个文件夹的名字是android2.3

    输入

    mkdir android2.3

    cd android2.3

    进入android2.3目录

    输入

    repo init -u git://androi/platform/manifest.git -b gingerbread

    在此说明一下:

    安卓总称:“机器人”

    1.5系统:“纸杯蛋糕”

    Android 1.6 Donut甜甜圈
    Android 2.0 Eclair松饼
    Android 2.1 Eclair松饼
    Android 2.2 Froyo冻酸奶
    Android 2.3 Gingerbread姜饼(以上系统都是用于手机的)官方消息说2.4准备出来了!至于3.0目前只用于平板电脑

    Android 4.0 Ice Cream Sandwich(简称ICS,冰淇淋三明治),

    表示你需要的代码是姜饼的 所以最后是gingerbread 如果是2.2代码 就把gingerbread改成froyo

    然后你需要输入你的名字跟邮箱地址

    如果提示找不到repo命令的话 需要重新设置环境变量 就是之前的PATH=~/bin:$PATH

    输入

    repo sync

    开始同步代码 这个过程会根据你的网速来决定快慢

    这一步需要下载的数据有3g那么大

    可以续传 一次没下完也没关系

    如果之前就已经下过一次的话 只需要把源代码目录(我的是android2.3)下有一个叫.repo的隐藏文件夹里的projects文件夹备份出来就可以了

    以后还需要同步的时候再把projects文件夹拷贝回去

    ctrl+h查看隐藏文件

    这一步可以参考

    编译整个源代码:

    cd android2.3

    进入你的代码目录

    输入

    . build/envsetup.sh

    注意.和build中间有个空格

    输入

    lunch full-eng

    make -j2

    输入make就是开始编译代码了 加一个-j2参数就是开两个线程去编译 速度会快些 我花了两个小时的时间

    编译完毕以后马上输入

    emulator

    就可以运行模拟器了 系统能跑起来就说明编译成功了

    如果提示找不到emulator命令的话

    需要添加环境变量

    在android2.3目录下的out/target/proct/generic文件夹下会看到system.img

    能看到的话应该算是成功了

    这一步可以参考

    编译SDK:

    这一步在官方网站上没有说明

    但是在源代码文件夹里面有文档提到了

    就是在android2.3/sdk/docs目录下有一个叫howto_build_SDK.txt的文件介绍了如何编译SDK

    原文

    Then once you have all the source, simply build the SDK using: $ cd ~/my-android-git $ . build/envsetup.sh $ lunch sdk-eng $ make sdk

    看来不需要先编译整个系统再编译SDK 可以直接上来就编译SDK

    按提示输入

    make到时候也可以加上-j参数 比如 make -j2 sdk

    但是不推荐 因为容易编译失败 而且编译SDK只需要二十多分钟到时间 不算很长

    当出现

    Package SDK: out/host/darwin-x86/sdk/android-sdk_eng.<build-id>_mac-x86.zip

    的时候 就表示编译成功了 其中<build-id>默认是系统的用户名

    howto_build_SDK.txt中还提到了编译ADT插件

    我发现自己编译到ADT插件竟然认不到platform 自己编译出来到SDK也一样

    原因不明

    只要使用官方的SDK和ADT就没有问题了

    具体就是把自己编译出来platform拷贝到官方SDK里到platforms文件夹下 搞过Android开发都懂的

    最后:

    非常简单的一步

    就是直接修改源代码然后编译SDK就可以得到自己的SDK了

    我就示范一个简单的例子 抛砖引玉

    首先我找到TextView的代码

    在frameworks/base/core/java/android/widget 如图

    我在updateTextColors方法的开头添加了一句System.out.println

    打印了一句话"Source Code Changed"

    updateTextColors方法会在TextView的setTextColor方法中被调用

    好 保存

    编译

    然后使用这个platform

    新建一个项目

    调用一下TextView的setTextColor方法看看有什么效果一个很简单的例子看看

    Source Code Changed被打出来了

    SDK修改成功

    ‘捌’ 如何编译Windows平台的Android SDK

    如果没记错,windows下是没法编译android框架源代码的

    因为android是基于linux平台的,因此底层的很多东西都是基于linux系统的

    如果只是单纯的android应用程序,则可以在windows下开发编译

    只需要用Eclipse的adt插件加上windows下开发的Android SDK就行了。

    ‘玖’ android 导进来的工程修改源码后怎么编译

    1、Android的文件系统结构是怎样的,我们安装的程序放在那里?
    编译Android源码之后,在out/target/proct/generic一些文件:
    ramdisk.img、system.img、userdata.img、 system、 data、root
    其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。

    ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样。模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。

    2、Android SDK和android源码能为我们提供什么工具?
    AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,并提供kernel-qemu、ramdisk.img、system.img、userdata.img。因此,只要有android SDK,我们就可以在模拟器上把android跑起来。
    Android源码可以编译出android SDK、adb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。

    3、 把Android源 码”make”之后会生成许多工具和android文件系统(system.img等),我们又可以使用“makesdk”来生成android SDK,android
    SDK也包括有工具和android文件系统(system.img等),而原来安装的时候我们也安装了androidSDK,那么我们在开发时应该使用那些工具和android文件系统呢?

    ‘拾’ Android源码编译完成之后,编译SDK过程中出现错误,编译了2次,都是的!求助!

    同问,我也碰到这个问题了:
    Package SDK: out/host/linux-x86/sdk/android-sdk_eng.xxxxx_linux-x86.zip
    sdk/build/tools.atree:35: bad format: bin/sqlite3 strip tools/sqlite3
    sdk/build/tools.atree:36: bad format: bin/dmtracemp strip tools/dmtracemp
    sdk/build/tools.atree:37: bad format: bin/etc1tool strip tools/etc1tool
    sdk/build/tools.atree:38: bad format: bin/hprof-conv strip tools/hprof-conv
    sdk/build/tools.atree:39: bad format: bin/mksdcard strip tools/mksdcard
    sdk/build/tools.atree:40: bad format: bin/zipalign strip tools/zipalign
    sdk/build/tools.atree:43: bad format: bin/emulator strip tools/emulator
    sdk/build/tools.atree:44: bad format: bin/emulator-x86 strip tools/emulator-x86
    sdk/build/tools.atree:45: bad format: bin/emulator-arm strip tools/emulator-arm
    sdk/build/tools.atree:51: bad format: lib/libOpenglRender${DLL_EXTENSION} strip tools/lib/libOpenglRender${DLL_EXTENSION}
    sdk/build/tools.atree:52: bad format: lib/libGLES_CM_translator${DLL_EXTENSION} strip tools/lib/libGLES_CM_translator${DLL_EXTENSION}
    sdk/build/tools.atree:53: bad format: lib/libGLES_V2_translator${DLL_EXTENSION} strip tools/lib/libGLES_V2_translator${DLL_EXTENSION}
    sdk/build/tools.atree:54: bad format: lib/libEGL_translator${DLL_EXTENSION} strip tools/lib/libEGL_translator${DLL_EXTENSION}
    make: *** [out/host/linux-x86/sdk/android-sdk_eng.xxxxxx_linux-x86.zip] Error

    热点内容
    如何设置强缓存的失效时间 发布:2025-05-19 15:21:28 浏览:695
    winxp无法访问 发布:2025-05-19 15:19:48 浏览:947
    文件预编译 发布:2025-05-19 15:14:04 浏览:643
    怎么在服务器上挂公网 发布:2025-05-19 15:14:02 浏览:272
    济南平安e通如何找回密码 发布:2025-05-19 14:56:58 浏览:176
    安卓手机如何找到iccid码 发布:2025-05-19 14:46:51 浏览:227
    编译的内核为什么那么大 发布:2025-05-19 14:45:21 浏览:179
    什么控制压缩 发布:2025-05-19 14:28:13 浏览:931
    网络服务器忙指什么 发布:2025-05-19 14:28:10 浏览:189
    服务器有外网ip 发布:2025-05-19 14:02:02 浏览:833