본문 바로가기

이것 저것

DPT 기본 DPLauncher 수정

DPT 루팅 방법 : https://eodevelop.tistory.com/40

 

이 포스팅은 위 url에서 진행하는 루팅을 수행했다는 전제하에 진행됩니다.

이번 내용은 기존에 사용하는 E-Ink-Launcher를 가상 홈 버튼이 아닌 DPT 장비 상단의 물리 버튼에 메뉴를 추가하는 방식으로 

사용해 볼까 합니다.


예를 들면 아래와 같은 화면이 구성됩니다.

 

 
E-Ink-Launcher 설치

 

 일단 기본적으로 E-Ink-Launcher 앱을 설치해야 합니다. 물리 키에 추가될 App 버튼과 연결될 App이기 때문에 아래의 링크에서 다운 후 DPT에 설치 하곘습니다.

ADB가 사용 불가능 하다면 해당 과정을 진행할 수 없기 때문에 아직 사용이 불가능 하신 분은 여기에서 루팅 후 진행하시기 바랍니다. 

 
 

일단 해당 url을 클릭하여 apk를 다운받도록 하겠습니다.


해당 파일을 C드라이브 아래로 이동 시켜 주겠습니다. 경로는 아래와 같아질 것입니다. 

 
C:\E-Ink-Launcher_0.1.4.apk
 

그 다음 ADB를 이용해 파일을 설치해 주도록 합시다. 


터미널을 실행해 주시고 해당 adb가 설치 되어있는 경로로 이동해 줍니다. 저의 경우 

 
cd C:\platform-tools
 
입니다.

 

 
.\adb.exe devices
 

명령어를 입력해 DPT와 PC가 제대로 연결되어 있는지 확인해 줍니다. 

제대로 연결되어있다면 가지고 있는 apk 파일로 E-Ink-Launcher를 설치해주도록 합니다.

 
.\adb.exe install C:\E-Ink-Launcher_0.1.4.apk
 

를 입력하여 설치합니다.

 
 
DPLauncher 변경하기

 

다음으로 홈버튼 기본 구성을 변경하도록 하겠습니다. 다음 압축파일을 해당경로에서 받습니다.

url : https://github.com/HappyZ/dpt-tools/raw/master/launcher_mod.tar.gz

해당 압축파일을 압축을 해제하지 마시고 C드라이브에 이동시켜주도록 합니다.

그 후 아래 명령어를 한번에 혹은 차례로 입력합니다.(한번에 복사 붙여 넣기해도 순서대로 진행되기 때문에 한번에 진행하셔도 괜찮습니다.)

 
.\adb.exe push C:/launcher_mod.tar.gz /sdcard/launcher_mod.tar.gz
.\adb.exe shell mount -o rw,remount /system
.\adb.exe shell rm -rf /etc/dp_extensions
.\adb.exe shell busybox tar -xvzf /sdcard/launcher_mod.tar.gz -C /
.\adb.exe shell chown -R root:root /etc/dp_extensions
.\adb.exe shell chown system:system /data/system/ExtMgr.db
.\adb.exe shell chmod 0660 /data/system/ExtMgr.db
.\adb.exe shell chown system:system /data/system/ExtMgr.db-journal
.\adb.exe shell chmod 0600 /data/system/ExtMgr.db-journal
 

이제 기기를 재부팅 하면 홈버튼의 구성이 바뀌어 있을 겁니다. 

여기서 주의해야할 점은 

.\adb.exe push C:/launcher_mod.tar.gz /sdcard/launcher_mod.tar.gz
이 제일 첫 번째 명령어의 C:/launcher_mod.tar.gz 이 부분입니다.

 

push 명령어를 통해 PC에서 DPT로 파일을 이동하는 명령인데 저처럼 C드라이브 아래에 두지 않으면 본인이 설치해둔 위치에 맞게 변경해서 적어주시는 것만 해주시면 될것 같습니다.

 위 명령어들에 대해서 대략적으로 설명하자면 DPT 장비의 dp_extensions라는 폴더에 물리키 내부 구성이 나와있습니다. launcher_mod.tar.gz 이라는 압축 파일 내부에 기존의 dp_extensions 폴더를 대체할 dp_extensions폴더가 들어있고, 기존의 dp_extensions 폴더를 삭제 후 압축파일을 풀어서 해당 폴더를 대체하는 방식 입니다. 

 
* 위에서 설치한 압축 파일을 압축 해제 후 내부를 살펴보면 etc/dp_extensions 와 data/system 폴더 두가지로 구성되어 있습니다.
대충 봤을때
 
etc/dp_extensions 폴더 : 버튼의 이미지 + 버튼의 연결 APP이 기술되어 있는 xml파일(파일링크, 이미지, 다국어(영어, 일본어, 중국어) 이렇게 세 가지로 구성되어 있는 것을 확인 가능했습니다.
 
data/system 폴더 : ExtMgr.db 라는 db 파일이 있었는데 귀찮아서 굳이 열어보지는 않았습니다. 하지만 대충 이런 구성이면 Luncher에 포함될 항목들을 리스트로 가지고 있을확률이 크고 거기에 app과 android settings 를 추가해 주지 않았을까 추측 됩니다.
 
혹시 나중에 이를 응용해서 더 많은 항목들을 구성하시고 싶은 분들이 있다면 참고하면 될것 같습니다.
저는 굳이 App 키 외에는 필요성을 느끼지 못해서 그 부분은 생략하도록 하겠습니다.

추가로 재부팅 시 어떤 런쳐를 선택 할건지 묻는 화면이 나오는데 DPLauncher를 기본으로 하고 위에서 설치한 앱은 선택하지 않는 것을 추천 합니다.