Post

실험용 ADB SHELL 명령어 모음

실험용 ADB SHELL 명령어 모음

1. Auto Screen Lock Time Control

화면 자동 잠금 시간 제어하는 코드이다. 설정 시간 단위는 ms이다.

1
adb shell settings put system screen_off_timeout 180000

180000ms는 30분을 의미한다. 현재 설정을 보려면 put 대신 get을 쓰면 된다.

앞으로 이 글의 명령어는 계속 추가될 예정이다.

2. Core Affinity Setting

Core Affinity는 어떤 프로세스를 특정 코어에서만 연산될 수 있도록 우선순위를 두는 것이다. 이는 말 그대로 ‘우선순위’이기 때문에 기기의 상황에 따라서 이 친화도를 파기할 수 있으나 대부분 지킨다.

C/C++ 코드로도 가능한데 여기서는 안 다루고, 다른 포스트에서 다룰 예정이다. Shell로 통제할 경우, 루팅이 필요하다.

1
2
3
4
# {core-affinity}
#   11110000 = f0
#   <-big   little->
su -c "taskset {core-affinity} {command}"

여기서 core affinity 섹션으로 정해줘야 하는데, 코어 수만큼의 2진수를 16진수로 변환한 값을 넣어야 한다. 1은 활성, 0은 비활성이다. 가령, 일반적인 모바일 big.LITTLE 구조의 CPU는 8코를 갖고 1*BIG + 3*MID + 4*LITTLE 구조로 구성된다. 그래서 BIG, MID 코어를 활성화시키고 싶으면, 11110000을 16진수로 변환한 값인 f0으로 넣으면 된다.

코어가 더 많거나 적은 경우도 있다. 예를 들어, S24는 1*BIG + 2*MIDH + 3*MIDL + 4*LITTLE이다. BIG과 MIDL만 활성화 시키고 싶다면, 1001110000을 16진수로 변환한 270을 넣으면 된다.

3. Get Device Model Name

1
2
3
4
5
getprop ro.product.system.model
getprop ro.product.vendor.model
getprop ro.product.product.model
getprop ro.product.odm.model
getprop ro.product.system_ext.model

4. Battery Slate Mode

Battery slate mode가 켜지면, 휴대폰 충전이 되지 않는다.

1
2
3
4
5
# no charging
echo 1 > /sys/class/power_supply/battery/batt_slate_mode

# charging
echo 0 > /sys/class/power_supply/battery/batt_slate_mode

5. Swap Memory Off

스왑 메모리를 사용하지 않도록 비활성화하는 코드이다.

1
swapoff /dev/block/zram0

만약 /dev/block/zram0 경로가 보이지 않는다면, find 또는 grep을 활용해서 zram*이 존재하는지부터 찾아보자.

6. 경로 고정

(특히 termux 내에서) su를 사용하면 루트경로로 완전히 실제 읽는 경로가 달라질 수 있다.

따라서, 현재 경로에서 읽게 만들기 위해서는 추가 옵션이 필요하다.

1
su -p -c "<Your Command>"
This post is licensed under CC BY 4.0 by the author.