이북리더 기기 제조사별 리프레시 방법
전자잉크를 탑재한 이북 리더 (E-Book Reader).
전자잉크 특성상 이전에 표시된 내용물이 계속 누적되므로, 이를 지워주기 위해 반드시 한 번은 화면 청소 작업이 필요합니다. (편의상 이를 리프레시라고 칭함)
각 제조사 별로 리프레시하는 방법에 대해 알아봅시다.
1. 크레마 (CREMA)
여담을 읽고 싶으시다면...
국내의 한국이퍼브 연합이 있었습니다.
전자책 DRM (라이선스)을 하나로 통합한 뷰어를 공개하면서, 국내 전자책 서점들을 통합하려는 야심 찬 목표(?)를 가지고 시작했으나...
하나둘씩 서점사들이 떨어져 나가기 시작하더니... 현재는 통합뷰어 서비스 종료가 되었습니다.
2022년 기준으로는, 예스24 및 알라딘에 대한 이북리더기를 생산하고 있습니다. (크레마S)
애초에 시작부터 대기업(?) 교보와 리디북스가 참여하지 않은 것도 있고, 추후 반디앤루니스 전자책 사업 철수 등... 여러 일들이 있었지요.
그래도 최근까지 예스24 및 알라딘에 대해 국내에서 이북 리더를 판매하고 있는 고마운 상황입니다.
크레마는 intent 형식으로 broadcast 하면 systemui에서 리프레시를 수행합니다.
Intent intent = new Intent("android.inno.refresh");
intent.putExtra("option", "2");
sendBroadcast(intent);
테스트 성공한 기종 : 카르타G (카르타G롬이 설치된 카르타 포함), 사운드업, 그랑데, 엑스퍼트, 크레마S
2. 오닉스 (ONYX)
여담을 읽고 싶으시다면...
떠오르는 신흥강자...랄까요. 2008년에 설립된 중국 기업으로, 이북 리더에 진지한 회사랄까요. 이북 리더의 애플 같다고 할까요. 다양한 크기의 기기를 만들고, 디자인도 신경 쓰고, E-ink 모니터 시장까지 진출한 기업입니다.
불후의 명기 포크 시리즈를 만들면서 이북리더기 업체에서는 승승장구하고 있다고 볼 수 있겠습니다. 대부분 기기에서 퀄컴 스냅드래곤 AP를 사용해서 상당히 만족스러운 성능을 보여줍니다. 단점으로는 최근 생산하는 모든 기기는 SD 카드 확장이 불가능하게 만듭니다. 오직 내장 메모리로만 사용을 해야 하는...
여담으로 2021년 출시한 크레마S가 오닉스 북스 포크3를 기반으로 만든 OEM 기기입니다. 케이스 호환 가능하고 심지어 오닉스 SDK도 정상적으로 작동합니다.
오닉스 제품은 무려 SDK를 제공하고 있습니다. (근본 있는 회사네)
해당 SDK를 가져다가 사용하시면 됩니다.
onyx sdk : https://github.com/onyx-intl/OnyxAndroidDemo
GitHub - onyx-intl/OnyxAndroidDemo
Contribute to onyx-intl/OnyxAndroidDemo development by creating an account on GitHub.
github.com
프로젝트의 build.gradle에 아래 항목 추가
buildscript {
repositories {
...
maven {
url "http://repo.boox.com/repository/maven-public/"
allowInsecureProtocol true
}
}
...
}
app의 build.gradle에 있는 dependencies에 아래 내용 추가
dependencies {
...
implementation 'com.onyx.android.sdk:onyxsdk-device:1.2.9'
...
}
리프레시 코드
import com.onyx.android.sdk.api.device.EpdDeviceManager;
import com.onyx.android.sdk.api.device.epd.EpdController;
import com.onyx.android.sdk.api.device.epd.UpdateMode;
...
EpdDeviceManager.setGcInterval(5);
EpdController.repaintEveryThing(UpdateMode.GC);
포크3 (+ 크레마S), 리프, 노바 에어 C 정상 작동 확인했습니다.
3. 보위에 (Boyue, 샘 7.8 포함)
여담을 읽고 싶으시다면...
오래전부터 이북 리더를 만들던 중국 기업입니다. 불후의 명기 T62+ 를 만든 회사이기도 합니다.
보위에는 리디북스 페이퍼 1세대를 제작한 외주업체이기도 했습니다. T62+가 전신인 것으로 추측되며, 페이퍼 1세대 펌웨어가 T62+에 설치가 되었었지요.
하지만 그때 당시 사용했던 AP가 줘도 안 쓴다는 Rockchip 이라서... 슬립모드 상태에서 배터리 효율이 너무 안 좋습니다. 타사의 배터리 용량보다 훨씬 더 높은 배터리를 탑재했음에도, 사용 시간이 비슷한 것을 보면 답이 나오지요.
그래도 현재까지도 꾸준히 이북 리더를 내고 있으며, 거의 대부분의 기기에서 SD카드 확장 지원, 저가형 리더기 생산을 해주는 점은 고마운 일입니다. 2020년에는 샘 7.8 기기를 OEM으로 생산한 적이 있습니다.
Intent intent = new Intent("com.boyue.action.FULL_REFRESH");
intent.setPackage("com.android.systemui"); // 생략 가능
sendBroadcast(intent);
테스트 기종 : 보위에 마르스, 교보 샘 7.8
3. 하이센스
여담을 읽고 싶으시다면...
원래는 TV를 만들던 중국 회사인데, 어느 순간부터 스마트폰을 만들기 시작하더니 갑자기 휴대폰 뒷면에 EInk 디스플레이가 탑재되고... 그러다 EInk 디스플레이만 탑재한 스마트폰을 낸 기업입니다.
사실 휴대폰에 EInk 디스플레이를 탑재한 것으로 유명한 휴대폰은 요타폰인데요. 요타폰이 역사의 뒤안길로 사라지게 되고서 사실상 스마트폰계의 전자잉크 탑재로 유일하다 싶이 하는 기업이 되었습니다.
생각보다 돈벌이가 잘 되었는지, 통신 기능을 뺀 리더기도 출시하고 (하이터치, 하이리더..), 컬러 잉크 디스플레이도 사용하고.. 라인업이 다양해지기에 이르렀습니다.
그래도 가성비 최강이라 할 수 있는 하이센스 A5를 따라올 제품이 아직까지는 없습니다. 2022년 기준, 공식적으로 단종되었음에도 인터넷에서는 새 제품을 20만원 초반에 아직도 구할 수 있고, 중고로 10만원대에 살 수 있는 저렴한 이북리더이자 스마트폰 되겠습니다.
다만 아쉬운 점으로, 정식 글로벌 출시를 한 기기가 거의 없고 중국 내수용으로만 유통되었기 때문에 구글 플레이 서비스가 빠져있습니다. 또한 기기 UI 언어는 영문 및 중문만 지원합니다. (앱을 한글로 사용하기 위해서는 별도의 조작이 필요함)
알리 등에서 판매하는 구글플레이 탑재 기기는 대부분이 공식이 아닌 셀러롬이며, 셀러롬은 업데이트가 안될 수 있으며 버그가 존재할 수 있습니다.
하이센스 A5 공식롬 6.12.01 (루팅상태) 에서만 확인이 되었습니다.
안드로이드 9 이하는 작동하고, 안드로이드 10 이상인 기기는 아래 adb 작업이 필요합니다. (루팅 여부 상관 없음)
2022.08.19 업데이트 : 하이리더에서 작동하지 않음
2022.09.02 업데이트 : 안드로이드 10 이상인 하이센스 기기에서는 adb로 아래 명령어를 넣어야 정상 작동합니다.
adb shell settings put global hidden_api_policy 0
비 SDK 인터페이스 제한사항 | Google Play | Android Developers
비 SDK 인터페이스 제한사항 Android 9(API 수준 28)부터 플랫폼에서는 앱에서 사용할 수 있는 비 SDK 인터페이스가 제한되어 있습니다. 이러한 제한사항은 앱에서 비 SDK 인터페이스를 참조하거나 리
developer.android.com
혹시 자신이 가지고 있는 하이센스 (EInk 디스플레이 탑재 기기, 컬러 포함) 기기에서 리프레시가 되는지 여부를 테스트해보고 싶다면, 아래 앱을 설치한 뒤 "리프레시 테스트" 버튼을 눌러서 리프레시가 이루어지는지 확인 후 댓글 남겨주세요.
감사합니다.
https://www.mediafire.com/file/256z0g8aqrkz3li/refreshAi_hisense_test_mk4.apk/file
refreshAi_hisense_test_mk4
www.mediafire.com
리프레시 힌트 출처 : Vision Launcher 앱 (package : com.hmct.vision)
com.hmct.vision.Utilities -> clearEInkShadow
Class.forName("com.hmct.epd.EpdManager").getMethod("forceClear", new Class[0]).invoke(context.getSystemService("epd"), new Object[0]);
(이거 찾는다고 진짜)
여담에서 적은 내용들은 저의 주관적인 생각이 가득 담겨있으며, 혹시나 틀린 내용을 알려주시면 수정하도록 하겠습니다.