我按照网上一篇文章《在Android 2.3状态栏中添加menu,home和back快捷键的方法》说的修改了frameworks下的内容,最后一步是编译,那篇文章这样写的:编译工程 
#source  /opt/android_froyo_smdk/build/envsetup.sh
#export   TARGET_PRODUCT=full_smdkv210
#mmm frameworks/base/
把编译生成的相关文件放进SD卡对应的目录即可,  我看不懂这个过程,也不知道怎么做。然后上网查找猜测:
第一条命令是执行源码中 build下的 envsetup.sh 脚本。于是我通过超级终端输入
android2.3.3_GB_T34$ ./build/envsetup.sh 显示:
including device/htc/passion/vendorsetup.sh
including device/hzsscr/t34/vendorsetup.sh
including device/samsung/smdkc110/vendorsetup.sh
including device/samsung/smdkv210/vendorsetup.sh不过第二条命令又看不懂了。至于第三种命令,在 frameworks/base/下确实有个文件Android.mk,但是我在执行命令1,没有执行命令2的情况下输入:
android2.3.3_GB_T34$mmm frameworks/base/
显示mmm: command not found求教,我该怎么编译啊?

解决方案 »

  1.   

    大家好,我把第二步按网上另一个地方找的方法改成source build/envsetup.sh
    生成system.img了。
      

  2.   

    #source /opt/android_froyo_smdk/build/envsetup.sh :这句的意思是,执行envsetup.sh 脚本,设置环境变量#mmm frameworks/base/ :这句的意思是:编译修改过的base模块。 其实你可以这么做更简单:
    1.加载环境变量:#source /opt/android_froyo_smdk/build/envsetup.sh
    2.全编译:m 
    一个m的意思是,在任何目录下,都全局编译全部系统源码,当然第二次编译的话没有修改的部分会跳过的。
    mm的意思是,编译当前模块,比如你在packages/apps/Camera/下,mm就编译出Camera.apk
    mmm的意思也是编译模块,但是和当前位置无关,因为命令需要制定编译什么模块,比如 mmm packages/apps/Camera   编译生成Camera.apk 
      

  3.   


    目的是source envsetup.sh ,不要照抄网上的全部内容,你完全可以进到 build/目录下 ,直接 source envsetup.sh ,设置环境变量。