2019-03-21

DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS


### DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS
1. mk 파일에 overlay 폴더 지정.
  DEVICE_PACKAGE_OVERLAYS += device_overlay_folder
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder

2. DEVICE_PACKAGE_OVERLAYS와 PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, PRODUCT_PACKAGE_OVERLAYS 의 내용이 적용됨.

3. PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item 값이 적용됨.
  예) 다음과 같이 folder1,2가 순서대로 overlay되고, 두 폴더내에 동일한 item이 있을 경우, folder1의 값이 적용됨.
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder1
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder2

4. DEVICE_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item값이 적용됨.


### overlays 적용 후 확인 방법
1. frameworks/... 하위 폴더 내용
- target의 system/framework/framework-res.apk 파일에 적용됨.
- apktool로 framework-res.apk unpack 후 내용 확인.
  download : https://ibotpeaches.github.io/Apktool/
  unpack :
  $ apktool d framework-res.apk
  $ java -jar ~/bin/apktool.jar d framework-res.apk


2019-03-11

git command


### git tree로 보기
$ git log --graph
$ git log --pretty=format:"%h %s" --graph


### git diff
# 두 브랜치의 특정 폴더 비교
$ git diff branch1..branch2 folder/

# 두 브랜치 - 특정 폴더 제외하고 비교
$ git diff branch1..branch2 -- . ':!folder_exclude'


### git rename branch
$ git branch -m old_branch_name new_branch_name
$ git branch -m new_branch_name


### git - disable color ui
git color ui 질문 "Enable color display in this user account (y/N)?" 안뜨게 하기
$ git config --global color.ui false


### git difftool : meld
# git difftool config
$ git config --global diff.tool meld

# git difftool 실행(meld) 시 dbus 에러 발생 시 해결 방법
--- 에러 내용 ---
(meld:16516): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-la2QE9V9o8: Connection refused
------------------
--- 해결 방법 ---
$ eval $(dbus-launch --sh-syntax)
$ export DBUS_SESSION_BUS_ADDRESS
$ export DBUS_SESSION_BUS_PID
-------------------

// 브랜치 비교
$ git difftool branch_a..branch_b

// folder 형식으로 비교
$ git difftool --dir-diff branch_a..branch_b


2019-03-08

mount ex4 image file


# ext4 이미지 파일을 mount 하는 방법
$ mount -t ext4 -o loop image_ext4.raw /mnt/ext4_target
@ read-only 마운드
$ mount -t ext4 -o loop,ro image_ext4.raw /mnt/ext4_target

# 참고 : 안드로이드 이미지를 raw 형식으로 변환
$ ./simg2img system.img image_ext4.raw


2019-03-07

grep

### 특정 파일에서 검색 #1
$ grep -rn --include=\*.{c,cpp,h} szFindSting folder/

### 특정 파일에서 검색 #2
$ grep -rn --include="*.[ch]" szFindSting folder/

### 특정 파일 제외하고 검색
$ grep -rn --exclude={file1,file2,file3} szFindString folder/
$ grep -rn --exclude="*.ninja" szFindString folder/



### 특정 폴더 제외하고 검색
$ grep -rn --exclude-dir={dir1,dir2,dir3} szFindString folder/

### 대소문자 구분 안 함
$ grep -rn --ignore-case szFindString folder/


### 파일을 ascii로 인식
$ grep -rn -a szFindString folder/

### 여러 패턴 검색
$ grep -rn -e szFindString1 -e szFindString2 -e szFindString3 folder/