[Unity] 개발 환경 설정하기

유니티(Unity)는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진이자, 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작을 위한 통합 저작 도구이다. [Wiki] 유니티는 게임 제작에 편의성을 주는 프레임워크 이자 개발 도구라는 생각이 든다. 일반적으로 프로그래머가 게임을 제작할 때 신경써야 할 그래픽, 구도, 등등을 유니티에서는 기본 양식으로 제공해 주어서 편하게 개발을 가능하게 했다….

[Android] UPnP IGD 올리기 (upnp igd porting, cross compile)

  UPnP 기능은 어떤 장치를 연결할 때, 사용자가 설정을 해 주지 않아도 알아서 편리하게 연결이 되도록 하는 자동 연결 지원 프로토콜이다. UPnP 기능은 하위 여러 기능들을 포함하고 있는데, 그 중 IGD(Internet Gateway Device)는 장치들 간의 UPnP 연결에 있어서 중간다리 역활을 하는 기능이다. 아래는 Wikipedia의 내용이다. 유니버설 플러그 앤 플레이 위키백과, 우리 모두의 백과사전. 유니버설 플러그…

[Android] Android 7 SystemService Add: 추가 방법

Android Service는 백그라운드에서 실행되는 process를 말한다. (상세 내용) AOSP에서 Android SystemService를 추가하는 방법은 다음과 같다. Service Manager 생성 – [ANDROID_PATH]/frameworks/base/[MyServicePath]/ 에서 MyserviceManager.java 생성   AIDL 생성 – [ANDROID_PATH]/frameworks/base/[MyServicePath]/ 에서 IMyServiceManager.aidl 생성   – [ANDROID_PATH]/frameworks/base/Android.mk 에서 [MyServicePath]/IMyServiceManager.aidl 추가 ## READ ME: ######################################################## ## ## When updating this list of aidl files, consider if that aidl is…

[Git] 기초 사용법

Git은 버전 관리 툴이다. git을 이용하면 코드를 히스토리 별로 관리를 할 수 있다. 과거 svn 등등의 여러 툴이 있었지만, git으로 귀결되었다. git은 그만큼 막강하며, 여러 기능들을 제공하고 있다. 기본 기능을 사용하여도 크게 문제가 되지 않지만, 다양한 기능들을 활용하여 고급 기술들을 사용하면 디테일하게 제어를 할 수 있다. 또한 그만큼 처음에 다가가기도 쉽지는 않다. 여기서는 git의 가장 기초적인…

[Android] Key Layout

Android에서는 Key Event처리를 위해  Key Layout 을 사용한다. Key Event가 처리되는 순서는 보통 다음과 같다. Hardware 적으로 Key Event가 발생함. Interrupt 등으로 Kernel로 전달됨. Kernel의 Keyboard Driver 에서는 Key Event를 감지 후, 상위로(Android 쪽으로) 이벤트를 전달함. 이 때, Hardware에 mapping 되어 있는 Key Event Code를 전달함. (<linux>/include/linux/ 하위에 정의되어있음) Android Framework에서 Kernel의 Key Event를 전달받음….

[Android] ADB Connection Without Screen (Secure USB Debugging)

Android 4.2.2 버전부터는 Secure USB Debugging 기능이 포함되므로, adb Connection을 위해서는 Device에 Desktop을 인증하는 과정이 필요하다. Secure USB Debugging is in Android 4.2.2.  Android key authentication is required to connect to desktop and Android devices using a USB cable.   System 부팅 후 Device와 Desktop을 usb cable로 연결 후, “adb devices” 명령어를 수행하면 다음과 같이…

btrfs – full error (No space left on device)

btrfs는 filesystem의 한 종류이다, wiki에서는 다음과 같이 소개하고 있다. Btrfs(B-tree file system 또는 Butter file system, Better F S)는 파일 시스템 가운데 하나로 현재 페이스북의 크리스 메이슨이 개발을 지휘하고 있다. 꽤 안정화되어 시험적으로 사용하는곳들이 생기고 있다. (B-tree file system, pronounced as “butter F S”, “better F S”, “b-tree F S”, “butterface”, or simply by spelling it out) B-Tree…

name mangling, android ndk jni symbol name problem

간혹 android ndk 를 만들다 보면 name mangling 때문에 문제를 만나게 된다. Linux 혹은 Android 에서 ndk 를 만들기 위해 library 를 빌드할 일이 있을 경우 symbol name 을 주의해야 한다.   해당 library source 는 c 혹은 cpp 형태로 작성할 수 있다. 그런데 Android NDK 를 위해서는 cpp 구조가 아닌 c 구조가 되어야 하며,…

[Android AOSP] Android Browser – WRITE_EXTERNAL_STORAGE Permission

안드로이드에서는 다양한 Broswer 를 지원한다. 그리고, AOSP Build 시에 기본적으로 포함되어 설치가 되는 브라우저를 지정할 수도 있다.   안드로이드 에서는 원래 “Android Browser” 라는 기본 브라우저를 포함시켰다. 하지만 Chrome의 개발로 안드로이드의 공식적인 입장은 “Android Browser” deprecated 정책이고, Chrome 사용을 장려한다. (Reference) 심지어 Google의 “Android Browser” 개발 지원은 2015년 5월 18일 이후로 중단되었다. (Sources) 또한 Android…

Android booting Process/Sequence (안드로이드 부팅 과정)

안드로이드 부팅과정을 정리해 보았습니다.   Step 1. Power On and System Startup (Boot ROM) 시스템에 전원이 공급되면 Boot ROM 코드가 시작된다. Root ROM Code의 주요 기능은 Boot Loader를 RAM에 적재하는 것이다.   Setp 2. Boot Loader Boot Loader는 안드로이드 구동 전 시작하는 작은 프로그램이며, 안드로이드와는 별개의 프로그램이다. Boot Loader는 두개의 스테이지로 나뉘어져 있다. First Stage…