ubuntu10 04源怎么在Ubuntu编译Android2.3源代码以及制作自己的SDK

ubuntu10 04源  时间:2022-02-24  阅读:()

怎么在Ubuntu编译Android2.3源代码以及制作自己的SDK

网上下一个软碟通软通(UitraISO)工具、然后去官网上下载一个64位ubuntu.*.iso系统文件、然后软碟通工具自己制作一个USB启动盘(非常简单)不会用软碟通的百度一下一大把!、系统最好是10.40以上的版本   使用的是ubuntu官网下载的ubuntu10.04 LTS 64位版本(-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/product/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修改成功

Ceraus24元/月,国庆促销 香港云上新首月五折

Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存​CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

ubuntu10 04源为你推荐
开票系统怎样开普通发票系统附清单oncontextmenuAndroid:onMenuItemSelected()方法与onOptionsItemSelected()方法有什么区别?oracle索引什么是Oracle的函数索引?李昊天铠甲勇士刑天中人物资料jql建筑设计图纸上JQL 梁,是不是地下正负零基础梁?急急!spawning为什么编译和运行vc++ 时会出现Error spawning c1.exe 的错误radius认证电信或网通的RADIUS认证都记录些什么?谁能说说ISP的宽带帐号检查流程ruby语言Ruby语言输入方法法弹幕网站A站B站网址是什么,国内很出名嗎?有什么网站特点..layoutsubviews如何让NSSplitView的子View的大小固定
国外主机空间 什么是虚拟主机 亚洲大于500m 全球付 秒解服务器 新世界电讯 地址大全 柚子舍官网 腾讯实名认证中心 免费活动 域名和空间 广州服务器 ebay注册 web应用服务器 游戏服务器出租 photobucket 金主 黑科云 阿里云个人邮箱 国外代理服务器 更多