본문 바로가기

안드로이드/ADB & Rooting

이미지에 포함 할 product 설정하기

07. 이미지에 포함 할 product 설정하기

  1. 기본적으로는 *.mk 파일내에 존재하는 "PRODUCT_PACKAGES"에 지정된 어플리케이션이 포함됨

    • "PRODUCT_PACKAGES"는 여러 *.mk 파일에 흩어져서 지정되어 있으므로 주의.
    • platform/build/target/product/AndroidProducts.mk 에 지정된 각 *.mk 파일에 "PRODUCT_PACKAGES"가 설정되어 있음.

      • platform/build/target/product/core.mk
      • platform/build/target/product/generic.mk
      • platform/vendor/sec/products/sec_smdkv210.mk
      • 설정에 따라 그밖에도 존재 할 수 있음.
  2. "1"에 지정되지 않은 어플리케이션이 포함되는 경우.

    • Android는 make 시  eng / user / userdebug 의 3가지 옵션(flavors)을 사용가능
    • 해당 옵션에 의해 "PRODUCT_PACKAGES"에 지정되지 않은 어플리케이션이 포함될 수 있음.
  3. 옵션(flavors) 별로 포함시킬 어플리케이션을 설정

    • platform/package 및 development/app 등에 위치한 각 어플리케이션의 디렉토리에 있는 "Android.mk" 파일에 설정
    • 각 어플리케이션의 "Android.mk"의 "LOCAL_MODULE_TAGS "에 지정된 값이 make 옵션(flavors)와 일치 할 경우 해당 어플리케이션은 포함됨.

 

  • * build-nt01f.sh 의 make flavor 변경 방법
     "PRODUCT-sec_$SEC_PRODUCT-eng" =>  "PRODUCT-sec_$SEC_PRODUCT-user"로 변경
  • 'user' / 'userdebug' 로 make 할 경우 adb를 root 권한으로 사용할 수 없게된다.(serial 접속시에도 root 사용 불가)

 

eng

'make'에 옵션을 생략할 경우 'make eng'가 됩니다.

  • LOCAL_MODULE_TAGS 값이 [ engdebugshell_$(TARGET_SHELL), user, and/or development] 인경우 포함.
  • APK 이외의 모듈 줄 LOCAL_MODULE_TAGS  값을 가지지 않은 경우 포함.
  • LOCAL_MODULE_TAGS가 지정된 APK 뿐 아니라, Product 지정 파일(core.mk / generic.mk 등) 에 지정된 것들도 포함.
  • ro.secure=0
  • ro.debuggable=1
  • ro.kernel.android.checkjni=1
  • adb is enabled by default.
user

"make user"

이 옵션은 최종 릴리즈를 위해 사용됩니다.

  • LOCAL_MODULE_TAGS 값이 [shell_$(TARGET_SHELL) 또는 user] 인 경우 포함.
  • APK 이외의 모듈 줄 LOCAL_MODULE_TAGS  값을 가지지 않은 경우 포함.
  • Product 지정 파일(core.mk / generic.mk 등) 에 지정된 것들도 포함. APK 모듈을 위해 지정된 태그는 무시됩니다.
  • ro.secure=1
  • ro.debuggable=0
  • adb is disabled by default.
userdebug "make userdebug"

아래의 내용을 제외하면 user와 같습니다.:

  • LOCAL_MODULE_TAGS 값이 debug ] 인경우 포함.
  • ro.debuggable=1
  • adb is enabled by default.