• Mtk Android编译命令


    一、输入命令:

    cbk@YCS:~/work/k6/alps$ ./mk help

     

    Usage: (makeMtk|mk) [options] project actions [modules]

    Options:
      -t, -tee      : Print log information on the standard-out.
      -o, -opt=bypass_argument_to_make
                    : Pass extra arguments to make.

      -h, -help     : Print this message and exit.

    Projects:
      one of available projects.

    Actions:
      listp, listproject
                    : List all available projects.

      check-env     : Check if build environment is ready.
      check-dep     : Check feature dependency.
      n, new        : Clean and perform a full build.
      c, clean      : Clean the immediate files(such as, objects, libraries etc.).
      r, remake     : Rebuild(target will be updated if any dependency updats).
      mrproper      : Remove all generated files + config + various backup files in Kbuild process.
      bm_new        : "new" + GNU make's "-k"(keep going when encounter error) feature.
      bm_remake     : "remake" + GNU make's "-k"(keep going when encounter error) feature.
      mm            : Build module through Android native command "mm"

      emigen        : Generate EMI setting source code.
      nandgen       : Generate supported NAND flash device list.
      codegen       : Generate trace DB(for META/Cather etc. tools used).
      drvgen        : Generate driver customization source.
      custgen       : Generate customization source.
      javaoptgen    : Generate the global java options.
      ptgen         : Generate partition setting header & scatter file.
      bindergen     : Generate binder related information

      sign-image    : Sign all the image generated.
      encrypt-image : Encrypt all the image generated.
      update-api    : Android default build action
                      (be executed if system setting or anything removed from API).
      check-modem   : Check modem image consistency.
      upadte-modem  : Update modem image located in system.img.
      modem-info    : Show modem version
      gen-relkey    : Generate releasekey for application signing.
      check-appres  : Check unused application resource.

      sdk           : Build sdk package.
      win_sdk       : Build sdk package with a few Windows tools.
      banyan_addon  : Build MTK sdk addon.
      cts           : Build cts package.
      bootimage     : Build boot image(boot.img).
      cacheimage    : Build cache image(cache.img).
      systemimage   : Build system image(system.img).
      snod          : Build system image without dependency.
                      (that is, ONLY pack the system image, NOT checking its dependencies.)
      recoveryimage : Build recovery image(recovery.img).
      secroimage    : Build secro image(secro.img).
      factoryimage  : Build factory image(factory.img).
      userdataimage : Build userdata image(userdata.img).
      userdataimage-nodeps
                    : Build userdata image without dependency.
                      (that is, ONLY pack the userdata image, NOT checking its dependencies.)
      target-files-package
                    : Build the target files package.
                      (A zip of the directories that map to the target filesystem.
                       This zip can be used to create an OTA package or filesystem image
                       as a post-build step.)
      updatepackage : Build the update package.
      dist          : Build distribution package.

    Modules:
      pl, preloader : Specify to build preloader.
      ub, uboot     : Specify to build uboot.
      k,  kernel    : Specify to build kernel.
      dr, android   : Specify to build android.
      NULL          : Specify to build all components/modules in default.
      k <module path>
                    : Specify to build kernel component/module with the source path.
      dr <module name>
                    : Specify to build android component/module with module name.

    二、Example:
      ./mk -t e1k emigen
                    : Generate EMI setting source code.
      ./mk -o=TARGET_BUILD_VARIANT=user e1k n
                    : Start a user mode full build.
      ./mk listp    : List all available projects.
      ./mk e1k bootimage
                    : Build bootimage for e1k project.
      ./mk e1k bm_new k
                    : Build kernel for e1k project.
      ./makeMtk e1k c,bm_remake ub k
                    : Clean & Build uboot and kernel for e1k project. 
      ./makeMtk e1k n k kernel/xxx/xxx
                    : Build(full build) kernel component/module 
                      under the path "kernel/xxx/xxx" for e1k project.
      ./makeMtk e1k r dr Gallery
                    : Rebuild android module named Gallery for e1k project.
      ./makeMtk e1k mm packages/apps/Settings
        : Change Directory to packages/apps/Settings and execute "mm"

     

    三、 当修改一些代码时,使用什么编译命令可以最有效率
    1: ./mk n(r) kernel; ./mk bootimage;当修改kernel相关代码时,要使用此命令,具体如下:
         alps/kernel/
         alps/mediatek/platform/mt65xx/kernel/
         alps/mediatek/source/kernel/
         alps/mediatek/customer/mt65xx/kernel/
         alps/mediatek/customer/common/kernel/
         alps/mediatek/customer/$porject_name$/kernel
         ......
    2: ./mk n pl  当修改preloader相关代码时,要使用此命令,具体如下:
         alps/mediatek/platform/mt65xx/preloader/
         alps/mediatek/source/preloader/
         alps/mediatek/customer/mt65xx/preloader/
         alps/mediatek/customer/common/preloader/
         alps/mediatek/customer/$porject_name$/kernle
         ......
    3: ./mk uboot  当修改uboot相关代码时,要使用此命令,具体如下:
         alps/mediatek/platform/mt65xx/uboot/
         alps/mediatek/source/uboot/
         alps/bootable/bootloader/uboot/
         alps/mediatek/customer/mt65xx/uboot/
         alps/mediatek/customer/common/buoot/
         alps/mediatek/customer/$porject_name$/uboot/
          ......
    4: ./mk systemimage 当修改system相关代码时使用此命令,具体如下:
          alps/frameworks/
          alps/packages/
          alps/vendor/
          alps/hardware/
          alps/dalvik/
          ...........
    5: ./mk recoverimage  当修改recover相关代码时使用此命令,具体如下:
          alps/bootable/recovery/
          alps/mediatek/customer/$project_name$/recovery/
          ......
    6: ./mk factoryimage:  当修改factory相关代码时使用此命令,具体如下:
          alps/mediatek/customer/$project_name$/factory/
          alps/mediatek/customer/common/factory/
          alps/mediatek/source/factory/
          ......
    7: ./mk secroimage  当修改secro相关代码时使用此命令,具体如下:
          alps/mediatek/source/secro/
          alps/mediatek/customer/$project_name$/secro/

  • 相关阅读:
    SpringMvc上手学习
    UITapGestureRecognizer 和 UICollectionView、UITableView的点击事件冲突问题
    Omnigraffle 许可证
    REACT-NATIVE
    iOS @property、@synthesize和@dynamic
    WWDC2018 之 优化 App Assets Optimizing App Assets
    WWDC2018 之 高性能 Auto Layout
    链表
    Your development team, "", does not support the Push Notifications capability.
    xcode无线调试
  • 原文地址:https://www.cnblogs.com/liang123/p/6325484.html
Copyright © 2020-2023  润新知