编译android --system,framework

 

在你的android 目录下:

 sudo git clone  https://android.googlesource.com/platform/manifest

  cd manifest

  git branch -a

  默认取得的是master了。

repo init -u https://android.googlesource.com/platform/manifest -b 

android-2.3.5_r1

就取到了 android-2.3.5_r1 版本

原则:只要有Android.mk的文件夹就可以用mmm或者mm来编译

具体的编译用framework.jar来说明:

1.首先需要设置编译环境

  export ARCH=arm

  export CROSS_COMPILE=./prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-

  这两个就不用说了

2. source ./build/evnsetup.sh

   设置android编译命令即mmm, mm等

3. choosecombo Device release myproduct eng

     这个不能少

4. make clean-framework

    删除out中已经生成的framework以及intermedia文件

5. mmm -j4 framework/base

   或者

  cd framework/base

  mm -j4

6. 拷贝新的framework.jar到设备中,然后重启zygote使新的framework.jar生效

mount -w -r -o remount,rw -t ubifs ubi0:system /system

adb push Z:out argetproductmyproductsystemframeworkframework.jar /system/framework/

adb shell stop

adb shell start

其他的模块的编译和应用和这个类似

7. 模块调试完成后如果想生成system.img可以使用下面的命令:

  make snod -j4

 最终的system.img就在out argetproductmyproduct中

这种方式要比重新编译整个framework要快的多。

原文地址:https://www.cnblogs.com/SZLLQ2000/p/5109109.html