레노버 팹플러스 사망

어제부로 부팅로고에서 무한 재부팅에 빠져버렸네요. 한 일이년전 쯤 한번떨궈서 액정에 금이가고서도 잘 버티면서 돌던 단말이었는데, 계속 게임만 돌리고 했더니, 메인보드가 나갔나봅니다. Recovery모드도 안들어가길래, 이것저것 해보니, Fastboot으로는 빠져서 혹시나 싶어서 Stock ROM있는것도 찾아서 All fusing을 해봤는데도 안되는거 보면, HW문제가 맞는 모양입니다. Fusing을 정상적으로 다 되었으니, 아직 NAND는 살아 있는것 같은데.. 배터리쪽 전원 문제가 아닐까 합니다. 아니면 정말 Timebomb같은 코드가 있을지도 모르겠네요. 생산일자가 2015년10월 15일 이고, 사망일이 2월2일 이었으니, 대략 3년 3개월정도는 사용한 셈입니다. 갤럭시 S2가 아직 살아 있는 상황으로 비교해보면, 나름 많이 써서 그런거라고 위로해봅니다.
https://forum.xda-developers.com/android/help/lenovo-phab-plus-pb1-770m-stock-rom-t3424663

처음 구매당시에는 나름 매력적인 포인트가 몇몇 있었습니다. 듀얼심이 되는것이 하나였고, Dolby Atmos가 나름 괜찮았습니다. 외부 스피커로 듣는 음량이나 울림등이 모노 스피커임에도 괜찮았고, 이어폰을 연결했을 경우에도 상당히 괜찮은 소리를 들려주었습니다. 물론 초기 5.0.1버전에서 5.1.1로 업그레이드 하면서 뭔가 많이 불안정해져서 소리도 살짝 끊기는 경우도 생기고 그래서 완전 초반보다 만족도가 일부 떨어지긴했지만, 오히려 초반에는 Bluetooth와 WIFI자체의 문제가 더 컸으니 도진개진이겠네요.

Android Building Block Internals – Introduction2

오늘은 Android Platform Code에서 잘 알려지지 않은(?) 파일들을 훑어보도록 하겠습니다. 주로 이러한 잘 알려지지 않은 파일 코드들을 위주로 진행하도록 노력할 것 입니다.

혹여 안드로이드 플랫폼 코드(AOSP, 혹은 Android PDK라고 불리는)를 본적이 없으시다면, https://source.android.com/ 이쪽 링크를 통하여 확인해보시면 됩니다. 보통은 안드로이드 개발자의 경우 앱/서비스 개발자들을 지칭하여 https://developer.android.com 사이트를 많이들 들어가보실 텐데요. 위 PDK에도 정보가 꽤 많고, 사실 플랫폼과 상위 API의 관계가 상당히 유기적이기 때문에(다른 말로, Dependency가 많고, Dirty한 것으로 볼수도 있겠습니다만) 전체를 살펴보는것이 일반 앱/서비스 개발자에게도 도움이 됩니다.

사실 안드로이드가 임베디드 타겟으로 다소 적은 리소스를 가지고 있는 하드웨어에서 개발되었기에, 이러한 Dependency는 효율을 위한 선택이었을 것으로 생각합니다만, 최근의 복잡성 증가와 여러 파편화 이슈로 안드로이드도 기존의 Major OS처럼 Upgradablity, Maintainability등을 따져가면서 발전하고 있습니다. 따라서 아마도 지금이 전체적인 시스템을 보게될 마지막 시기가 될 수도 있을 것이구요.  차후로는 너무 잘 파티셔닝, 모듈화되어서 그냥 모듈교체(하드웨어,소프트웨어 모두 포함한)로 다 끝나버릴 수도 있고, 상업화된 코드들은 더이상 볼 기회가 없어질지도 모르겠습니다.

아래 안드로이드 플랫폼의 트리 구조입니다. 사실 이 파일들 아래에 거대한 리눅스 커널 소스가 자리하고 있지만, 일단은 제쳐두도록 합니다. 필요시 하나씩 꺼내 보도록 하겠습니다.

그나저나 여전히 그림 첨부가 안되고 있어서.. 일단 글로 씁니다 –;;;

bionic

art/dalvik

libcore

framework/base/

주로 다루고자 하는것은 위의 네가지 입니다. 물론 아래의 전체적인 시스템 빌딩 관련된 것도 다룰 수 있습니다.

build/

prebuilt/

또한 안드로이드와 유기적으로 혹은 전략적으로 사용하고 있는 오픈소스들도 다룰 날이 올지도 모르겠습니다.

external

Android Building Block Internals Introduction1

하루에 한가지씩 꾸준히 글을 써보도록 하겠습니다.
고등학교때도, 대학생때도, 꾸준히 뭔가 한다는 것을 다짐하고, 포기하기를 반복했었지만(그동안의 블로그들을 보면…)  이번엔 좀 궤도에 오르기도 했고, 어느정도 의무감도 있고해서 잡소리라도 써보려고 합니다. 그렇다고 완전히 잡소리쓰기엔 시간이 아까우니 계획 했던 부분들을 하나씩 풀어보려 합니다.
제가 가진 지식들을 정리하면서 하나씩 공유해보는 글들을 기록해보겠습니다. 나들은 일찌감치 해오면서 저 만치 앞서 있는 것을 보고 있는것도, 나름의 자존심이 계속 속을 긁고 있네요…

그래서 주제는 현업이기도 한 안드로이드에서 지나온 날들을 잘 엮어 줄 수 있는 성능과 시스템의 관계에 대해서 적어보도록 하겠습니다. 본인의 관심사가 하드웨어+소프트웨어 이기도 하고, 나름 전문성이 있다고 자부하기에, 앞서가는 사람으로서 의무감을 갖고 펼쳐보도록 하겠습니다. 범위는 안드로이드+HW(Chip+Board)+SW(OS,Lib, Frameworks, Network, App)  정도가 될것 같습니다. 넓습니다.

이번글은 그 시작으로 간단한 그림 하나 그려보고 출발합니다. 아래 녹색영역에 주로 초점을 맞추도록 하겠습니다. 설명중에 전체 내용등이 두서 없이 나올수도 있습니다. 아래 그림은 제가 보는 안드로이드와 주변 시스템에 대한 전체적인 View입니다. 나름 코드와 기존의 경험에 기반한 그림이고, 별로 자세하지도 않아서, 틀리다라는 이야기를 들을 것 같진 않지만, 혹시라도 본인이 생각하던 그림과 다르다면 의견 공유해주시면 감사하겠습니다.

 

—– 그림을 올리려 했는데, 워드프레스 에러가 나는군요… –;; 뭐하나 쉽게 되는건 없나보네요. 미루는 것보다 게시하고 수정하도록 하겠습니다.

—– 이틀째 해결을 못보고 있는데, 플러그인 추가로도 안되고, 최후로, 새로 설치밖에 안남은것 같습니다. … 에휴…

—– 원인을 찾았습니다. googleanalytics 관련 wp-config.php에의 직접 수정이 원인이었네요.. 대충 대충 했더니, 결과가 이렇네요… 제대로 적용하는 법을 찾아봐야겠습니다.