当前位置:编程学习 > wap >>

关于Android中编译单个工程的问题

可能是我的网络环境问题,在同步Android源码的时候总是挂死,所以我想是不是能够先下个单个的工程下来,编译一下试试。用git clone命令下了git clone git://android.git.kernel.org/plagform/packages/apps/Email,然后在网上找了些编译单个工程的方法,用mm命令或者mmm命令什么的,先要运行. build/envsetup.sh,但是我的一运行就报错bash:build/envsetup.sh:no such file or directory,我不知道是什么原因。难道是Android源代码没有同步完build/envsetup.sh这个目录就还没有存在吗?若是的话希望大侠能给出一个不用同步完Android源代码只需下载某个包就能编译的方法,小弟在此先谢过了。 --------------------编程问答-------------------- 自己先顶起 --------------------编程问答-------------------- 源码需要整体编译 --------------------编程问答-------------------- 整个的源码一定要有,但是系统的整个包下不下来的话 你可以建一个和那个包名相同的文件夹,然后把你单个程序放进去编译,你的命令要cd到你的源码下啊. build/envsetup.sh --------------------编程问答-------------------- android模块编译,mm命令, 模块编译 .转
from http://jinguo.javaeye.com/blog/691507   

如果你只修改某一个模块的内容,却每次都要执行make, 最后等待很长时间。
使用模块编译,只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!
具体步骤:
        1)打开~/.baserc文件,加入source ~/I850/build/envsetup.sh. 加入你自己该文件所在的路径,这样就免去了每次启动新的终端执行mm命令之前,需要引用此文件。
        2)完成步骤1之后,就可以在你的模块里面随意执行mm了,要想使用其他快速命令,可以查看envsetup.sh文件,比如 cgrep,jgrep,resgrep在不同类型的文件里面进行相应的查询。还有m,mmm等等

以上是一个帖子的部分内容,对其第一步我还是没理解,那个envsetup.sh文件在哪儿呢,我咋找不见。对于三楼的回复非常感谢,能留个方式联系下吗,我还是想具体问一下。 --------------------编程问答--------------------
引用 4 楼 chendongqi2007 的回复:
android模块编译,mm命令, 模块编译 .转
from http://jinguo.javaeye.com/blog/691507   

如果你只修改某一个模块的内容,却每次都要执行make, 最后等待很长时间。
使用模块编译,只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!
具体步骤:
        1)打开~/.baserc……
envsetup.sh这个只是个命令的脚本,在你的源码包/build/envsetup.sh/
你找找看 不过第一步是打开的是.baserc文件啊,看看在你的电脑的路径 --------------------编程问答-------------------- make + 模块名 即可

比如
make liblog

make libandroid_runtime
--------------------编程问答-------------------- 如何单独build android ap (以launcher为例)

单独build launcher.
$cd <ANDROID>
$export TOP='pwd'
$source build/envsetup.sh
$cd packages/apps/Launcher
$mm

将build出来的launcher.apk push到SDK当中
$adb push out/..../system/app/Launcher.apk /system/app
$adb shell stop zygote
$adb shell start zygote 
这是今天看到的一篇文章 记录下来 --------------------编程问答-------------------- 学习下,这两天也在为这事愁呢 --------------------编程问答--------------------
引用 8 楼 rambo_jay 的回复:
学习下,这两天也在为这事愁呢

我也学习下,MARK --------------------编程问答-------------------- --------------------编程问答-------------------- 要编译的话,android的全代码一般是要有的,很多android的模块对frameworks的代码有依赖,所以要全编译通过后,才能单独在单个模块下mm --------------------编程问答--------------------
引用 7 楼 zhq56030207 的回复:
如何单独build android ap (以launcher为例)

单独build launcher.
$cd <ANDROID>
$export TOP='pwd'
$source build/envsetup.sh
$cd packages/apps/Launcher
$mm

将build出来的launcher.apk push到SDK当中
$adb push out……

$export TOP='pwd'这个是做什么,导入top变量有何意义

每次push完了,从未执行过这两个命令,没觉得有什么问题
$adb shell stop zygote
$adb shell start zygote  

--------------------编程问答-------------------- 学习,不懂的地方很多啊 --------------------编程问答--------------------
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,