기존에 Win7에서 8로 업그레이드를 해서 쓰다가 SSD를 교체하면서 처음부터 Win8을 설치했으나 라이센스 관련 메세지가 뜨면서 인증이 안되서 난감..


처음엔 같은 키로 하드웨어가 바뀐 상태에서 인증을 시도해서 안되나 싶었는데 안내 문구를 읽어보니 업그레이드용 라이센스 키로 클린설치를 해서 생기는 문제더군요.


찾아보니 레지스트리 값을 수정해서 기존제품이 있는걸로 속이고 인증을 거치도록 하는 방법이 있네요. (클린 설치가 아닌 업그레이드 한것으로 속임, Win 7 이하의 기존 라이센스 키는 불필요합니다.)


Window + R 을 눌러 regedit 를 실행한 후


HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Setup/OOBE/


위 경로에 있는 MediaBootInstall 의 기존값 1을 0으로 바꿔준 후 재부팅합니다.


이후에 업그레이드 키를 가지고 인증을 다시 시도하면 정상적으로 인증 처리가 됩니다.


이로써 Win7을 다시 깔고 업데이트 하지 않아도 잘 쓸 수 있습니다.

샘플을 보면서 지도를 한번 띄워보려고 아래와 같이 소스를 구현 했는데


import com.google.android.maps.MapActivity;


public class MainActivity extends MapActivity {


@Override

protected boolean isRouteDisplayed() {

return false;

}


//.. 기타 메소드들..

}

MapActivity cannot be resolved to a type

이런 에러가 발생한다면...


Properties 화면에서 Android 로 들어가보면 Target Name이 Android x.x 로 되어있는데 이걸 Google APIs 로 선택해주시면 해결됩니다. ^^;




개발 환경이 셋팅 되었으니..


모든 언어를 시작하면 가장 먼저 해보는 Hello world를 출력하는 샘플 만들기!



File - New - Project를 선택합니다.



Android - Android Application Project 선택


프로젝트의 이름과 SDK 선택

SDK는 지원 범위에 따라 적절히 선택해줍니다.

일단은 기본으로 계속 넘어가겠습니다.


프로젝트 정보


앱의 아이콘 선택. iOS와 달리 텍스트로도 만들 수가 있군요. 컬러 등을 지정해서 아이콘 이미지를 만들어줍니다.

여기도 일단은 기본으로 넘어가겠습니다.


처음 보여질 Activity의 스타일을 고르는 부분입니다. 템플릿 이라고 생각하시면 될 듯 하네요.


생성하는 Activity의 이름 지정


여기서 Navigation Type을 지정할 수 있는데 저는 최소버전을 API Version 8로 선택했기 때문에

None이 아닌 다른 타입을 선택하면 지원하지 않는다는 메세지를 보여주더군요.


이제 Finish를 누르면 기본적인 환경으로 만들어진 프로젝트가 생성됩니다.



Hello World는 기본으로 찍혀있군요! ㅋㅋ


지금까지 모바일쪽 개발은 iOS만 해왔는데 이번에 안드로이드를 공부할 일이 생겨 겸사겸사 포스팅 해봅니다.


일단 안드로이드 개발을 하려면 Eclipse와 Android SDK가 필요합니다.


http://developer.android.com/ 에 접속하여

Develop - Training - Building Your First App 메뉴를 타고 아래 페이지로 이동합니다.


오른쪽 GET STARTED 에 보면 Android SDK 링크가 있습니다.

이 링크를 통해 Mac용 Eclipst + Android SDK를 얻을 수 있습니다.


다운받은 파일을 풀어 Eclipse를 실행합니다.


저의 경우에는 Java가 없다고 설치를 요구합니다.

설치중.....


설치가 완료되고 창을 닫으면 알아서 Eclipse가 실행되는데 또다른 문제가 생기네요.



이 메세지는 아마도 Mountain Lion 이 설치되어있어서 그런 듯 합니다.

프로그램이 맥스토어에서 배포되지 않았기 때문에 보안상 사용자에게 알려주는 듯..


이때는 마우스 우클릭 또는 Ctrl + Click 해주시면 컨텍스트 메뉴가 뜨는데 여기서 '열기' 를 눌러주시면 아래와 같은 화면이 뜹니다.


위에 떳던 화면이랑 약간 다르죠? 여기에 열기 버튼이 있습니다.


한번 더 열기 버튼을 Eclipse가 실행됩니다.

Eclipse 실행중.......


처음 실행시 경로를 확인시켜주는데 저는 기본 경로 그대로 사용했습니다.



또 뭘 물어보네요.. 대충 보니 사용 정보를 구글로 보내겠느냐 물어보는것 같습니다.

이건 원하시는데로 하고 넘기면 됩니다. ^^


설치 과정 끝!



언제부터인가 개발하던 앱을 실행시켰을 때 에러가 발생해도 해당 위치를 보여주지 않아서 답답했습니다.


아래와 같이 말이죠.



이렇게 에러 위치를 알려주지 않아서, 에러가 발생했을 때 의심가는 부분에다가 로그를 출력해 가면서 위치를 찾았습니다.


오늘은 하도 답답해서 검색해보니 방법이 있네요. 역시 구글이야.. ㅠ_ㅠ


1. Xcode 좌측 네비게이터 쪽 BreakPoint Navigator 를 열어봅니다. (Cmd + 6)


2. 네비게이터 아래쪽에 + 버튼을 누르면 아래와 같이 Add 항목이 2개가 뜹니다.


3. Add Exception Breakpoint... 를 선택합니다.

속성은 그대로 놔두고 Done을 누릅니다.


테스트용으로 Dictionary에 nil을 셋팅하게 해두고 실행해봤습니다.

예전처럼 에러 발생 위치가 잘 뜨네요.

라즈베리파이를 구매한지 몇 달이 지났는데 이것저것 다른 일들에 밀려서 OS만 설치해두고 아무것도 해보지를 못했네요.


오늘 생각나서 루트 파티션을 늘리는걸 찾아봤는데 좀 쉽게 설명된게 없어서 여기저기 찾아서 해결 했습니다.


제가 사용중인 SD메모리는 8G 입니다. 그런데 2기가용 설치파일이어서 그런지 루트에 1.8기가만 잡혀있네요.


파티션 확인. >> df - h

root@raspberrypi:~# df -h

Filesystem      Size  Used Avail Use% Mounted on

rootfs          1.8G  1.4G  291M  83% /

/dev/root       1.8G  1.4G  291M  83% /

tmpfs            19M  200K   19M   2% /run

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs            37M     0   37M   0% /tmp

tmpfs            10M     0   10M   0% /dev

tmpfs            37M     0   37M   0% /run/shm

/dev/mmcblk0p1   56M   34M   23M  61% /boot


여기서 rootfs 를 최대한 잡는 방법입니다.


파티션 목록을 확인해봅니다.

root@raspberrypi:~# fdisk -l


Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000714e9


        Device Boot      Start         End      Blocks   Id  System

/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)

/dev/mmcblk0p2          122880     3788799     1832960   83  Linux


총 용량은 8기가이고 /dev/mmcblk0p2 에 리눅스 파티션이 잡혀있는데 End가 끝까지 잡혀있지 않습니다.


이제 파티션 용량을 늘려보죠~ 아래 명령을 입력합니다.

root@raspberrypi:/home# fdisk -u -c /dev/mmcblk0


Command (m for help) :

다른 곳의 자료들을 보니 fdisk -uc 라고 되어있는데 제꺼는 안되더라구요.. 하나씩 -u -c 따로 써주니 됩니다.


명령어를 입력하면 아래에 내부 명령어를 입력받게 커맨드가 또 나옵니다.


여기서 m 을 누르면 명령어 목록을 보여줍니다. 일단 p를 눌러서 파티션 테이블을 확인해봅니다.

Command (m for help): p


Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000714e9


        Device Boot      Start         End      Blocks   Id  System

/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)

/dev/mmcblk0p2          122880     3788799     1832960   83  Linux


확인이 되었으면 리눅스 파티션을 날려줍니다. 윈도우에서는 os 파티션을 바로 날릴 수가 없는데 리눅스는 되더군요 ㅋ

Command (m for help): d

Partition number (1-4): 2


d 는 파티션 삭제 명령이고 2를 넣은건 두번째 파티션을 명시해주는걸로 보입니다


다음으로 n 을 눌러 새 파티션을 잡아줍니다.

Command (m for help): n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): 

Using default response p

Partition number (1-4, default 2): 

Using default value 2

First sector (2048-15523839, default 2048): 122880

Last sector, +sectors or +size{K,M,G} (122880-15523839, default 15523839): 

Using default value 15523839


n p 2 순으로 눌러줍니다. (생성, primary, 파티션 번호 2 로 설정한다는 의미 입니다. p, 2는 디폴트 값이라 그냥 엔터 쳤습니다. ^^)


그리고 중요한게 First sector, Last sector 인데 이 부분이 파티션의 용량을 결정하는 부분입니다. 저는 1번 파티션을 날리지 않았기 때문에 1번의 뒤인 122880 으로 시작하고 디폴트인 최대치로 Last sector를 설정했습니다.


이제 파티션 사이즈를 재 인식(?) 시키고 재부팅 해주면 됩니다.

root@raspberrypi:~# resize2fs /dev/mmcblk0p2

resize2fs 1.42.4 (12-Jun-2012)

Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required

old_desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/mmcblk0p2 to 1925120 (4k) blocks.

The filesystem on /dev/mmcblk0p2 is now 1925120 blocks long.


root@raspberrypi:~# reboot


Broadcast message from root@raspberrypi (pts/0) (Mon Jan 28 17:01:16 2013):

The system is going down for reboot NOW!

root@raspberrypi:~# 

Connection closed by foreign host.


재부팅이 끝났으면 df -h 명령으로 확인해볼 수 있습니다.

root@raspberrypi:~# df -h

Filesystem      Size  Used Avail Use% Mounted on

rootfs          7.3G  1.4G  5.6G  20% /

/dev/root       7.3G  1.4G  5.6G  20% /

tmpfs            19M  200K   19M   2% /run

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs            37M     0   37M   0% /tmp

tmpfs            10M     0   10M   0% /dev

tmpfs            37M     0   37M   0% /run/shm

/dev/mmcblk0p1   56M   34M   23M  61% /boot


8기가짜리 SD메모리에 56메가는 부팅용(라즈베리파이 설치 부팅용입니다..)으로 조금 사용하고

나머지 7.3기가를 할당받았네요.. 


저도 리눅스는 잘 몰라서 여기저기 찾아보고 다른 분들도 쉽게 하실 수 있도록 포스팅 하는데요..

쉽게 설명이 되었나 모르겠군요.. ^^;

'Linux' 카테고리의 다른 글

MySQL Incorrect key file for table 에러 발생 시 대처법.  (0) 2014.11.19
서버 셋팅 2 ( mod_jk.so )  (0) 2014.08.21
Find 명령  (0) 2014.07.22
최근 변경된 파일을 찾아서 tar로 묶기  (0) 2014.05.14
서버 셋팅 1  (0) 2014.05.12

클라우드 서비스를 네이버 N-Drive와 다음 클라우드 두개를 사용하고 있는데

Mac OS에서는 다음 클라우드로 작업중인 개인 파일들을 동기화 하고있습니다.


대부분 소스 파일들 백업용으로 쓰고있어서 속도는 거의 신경 안쓰고 사용을 해왔는데

오늘 보니 너무 느린것 같아서 속도를 좀 체크해봤습니다.


결과는 충격적이네요..



환경 설정

환결설정에서의 속도는 무제한!


그러나 실제 전송 속도는... 아래 그래프는 바닥을 기어가고있구요.. 아예 전송이 안되고있는 상태..

이 그래프로는 제대로 알 수가 없네요..


위에 프로세스 상으로는 보낸 메시지와 수신된 메시지 변화량을 보니 수십~수백 바이트 수준입니다. -0-

이건 뭐.. 모뎀인가!?


참고로 제가 사용중인 인터넷 회선은 상,하향 모두 최대 100M 속도로 실제로도 100M 거의 다 활용됩니다.

그런데 클라우드 동기화 속도가 너무 느려서 확인을 해보니 정말 참담한 수준이네요..


앞으로 많이 발전 되겠죠!? ^^;


1. iOS 앱에 게임센터 연동을 하기위해서는 iTunesConnect 의 앱 관리메뉴에서 Game Center 를 활성화 시켜줘야 한다.


게임 센터가 활성화 된 상태.

2. 개발자 문서에 있는 게임센터 인증 메소드를 사용하여 인증을 시도한다.
- (void) authenticateLocalPlayer
{
    [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
         if (error == nil)
         {
              // Insert code here to handle a successful authentication.
         }
         else
         {
             // Your application can process the error parameter to report the error to the player.
         }
     }];
}
위의 코드를 호출하게되면 아래와 같은 로그인 화면이 뜨게 된다.


Game Center를 테스트 하기 위해서는 Sandbox용 계정(개발 환경용)을 만들어야 한다.
실제로 사용하던 아이디로는 로그인이 되지 않는다.



3. Use Existing Account 를 누르고 새로 생성한 Sandbox용 계정으로 로그인을 하면 위와 같이 게임센터에 로그인 된 화면을 볼 수 있다..



기타 1. 간혹 아래와 같은 화면이 뜨는 경우가 있을 수 있는데..

이는 Bundle identifier 값이 안맞아서 생기는 오류.. 이 값만 잘 맞춰주면 게임센터 인증하는데 무리가 없음..


+ Recent posts