최근 Android에서 Miracast의 User Input Back Channel을 구현하여 양방향 제어 솔루션 프로젝트를 진행하였습니다. 

그러면서 프레임워크를 수십번 받고 수천번(?)은 조금 과장일지라도...하여튼 많이 빌드하였습니다..ㅎㅎ 이 때 얻은 팁들을 공유하려고 합니다.

굉장히 바쁜데 진행하느라 힘들었던(?) 프로젝트였는데..  프로젝트 소개는 다음 번에 동영상과 같이 소개하도록 하겠습니다. :)


어쨌든 오늘 주제는 Android Framework 환경 구축과 빌드에 대해서 진행하겠습니다.

프로젝트를 진행하면서 AOSP에서 Android Framework를 내려받아 tweak 및 새로 구현하여 빌드하였던 적이 있습니다. 

이 때 필요한 빌드 환경 구축과 빌드시 유용하고 필요한 팁들을 정리해보려고 합니다.^^


그럼 빌드 환경 구축을 시작하겠습니다.


본 환경 구축은 https://source.android.com/source/initializing.html 을 참조하였습니다.

빌드 시스템은 다음과 같습니다.

CPU : Intel i7-3770@3.4Ghz

RAM : DDR3 8GB Memory 

Host OS : Linux Ubuntu 12.04 LTS 64bit (32bit환경에서는 Build가 되지 않습니다.)

Target Device : Nexus5(LG-D850) 에서 진행하였습니다.


아무래도 대규모 컴파일을 진행하다보니 빠른 CPU와 고용량 메모리가 필요합니다. 

그러나 가장 중요한 것은 넉넉한 시간과 마음가짐이면 되겠네요 ㅎㅎ


최신 Ubuntu LTS는 14.04버전입니다. 구글에 의하면 Ubuntu 14.04LTS에서도 테스트가 완료되었으며 간혹 예기치 않은 문제가 발생할 수도 있다고 합니다만, 테스트 해봤을 때 크게 문제가 있진 않았습니다. ^^ 그러나 전통적으로 12.04LTS에서 해왔기에 여기서는 12.04LTS를 기준으로 설명하겠습니다.

14.04LTS에서는 중간에 Install해야하는 package가 조금 다른데 그것만 말씀 드리겠습니다 :)


1. JDK설치

먼저 JDK 설치가 필요합니다. 현재 master branch인 (branch 개념은 뒤에서 설명하겠습니다.) 

Lolipop(5.x)에서는 Java7버전이 필요하며 그 이하 버전인 GingerBread(2.2.x) ~ Kitkat(4.4.x)이하에서는 Java6버전이 필요합니다. 

(Cupcake ~ Froyo에서는 Java5가 필요합니다만 아마 Cupcake를 빌드하실 분은 없으시라 생각됩니다 ㅎㅎ)


Java7설치는 터미널에서 다음과 같은 명령어를 입력하여 openjdk를 설치하여 줍니다.

$ sudo apt-get update

$ sudo apt-get install openjdk-7-jdk


이어서 환경 변수에 Java의 경로 설정을 위해 다음과 같이 입력하여 줍니다.


키캣이하의 버전을 빌드하기 위해서는 Java6버전을 설치하여야 합니다.

Java6버전은 Oracle Download site에서 다운로드 받으셔야 합니다. 다만 가입하시고 로그인해야 다운로드가 가능합니다.

구글링을 잘 해보시면, jdk-6u45-linux-x64.bin 이름을 가진 JDK6u45를 받으실 수 있습니다.^^

그 후 바이너리에 chmod a+x jdk-6u45-linux-x64.bin 를 입력하여 권한을 주고 ./jdk-6u45-linux-x64.bin 로 실행하시면 설치를 할 수 있습니다.


2. package설치

이제 빌드에 필요한 패키지들을 설치합니다.

여기서 Ubuntu 버전에 따라 설치하는 패키지가 조금 다르니 확인하시고 설치하시기 바랍니다.


Ubuntu 14.04를 사용하시면 아래와 같이 입력하셔서 패키지를 설치하시면 됩니다.

$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip


Ubuntu 12.04를 사용하시면 좀 더 많은(?)패키지를 설치해야 합니다.

$ sudo apt-get install git gnupg flex bison gperf build-essential \

  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \

  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \

  libgl1-mesa-dev g++-multilib mingw32 tofrodos \

  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

명령어를 잘 보시면 처음에는 apt-get을 root권한으로 실행하여 zlib1g-dev:i386패키지 까지 설치합니다.

그 다음 심볼릭링크로 libGL.so파일을 링크 거는 것입니다 :)


Ubuntu 11.10이하 버전의 설치 방법도 따로 존재하지만 필요하시면 구글 개발자 사이트에서 확인하시면 됩니다 :)


3. ccache 설정 (옵션)

ccache설정 방법입니다. 말머리와 같이 꼭 설정하지 않아도 빌드하는데는 무방합니다. :) 따라서 바로 4번으로 가셔도 됩니다만 한번쯤 읽어보세요 ㅎㅎ

또한 프레임워크 소스를 다운로드 후에 설정하셔야 합니다. 그 전에는 캐시를 설정할 수 있는 바이너리가 존재하지 않습니다 ㅎㅎ


ccache는 안드로이드 프레임워크 빌드에서만 사용하는 것이 아니라 대규모 컴파일시에 자주 사용하는 기능입니다.

결론부터 말씀드리면 사용하실 경우 더 빨리 빌드가 가능합니다. 다만 말그대로 cache를 해놓기 때문에 용량을 많이 차지합니다 ㅎㅎ

방법은 빌드 오브젝트를 캐싱해놓고 변화된 파일을 체크하여 새롭게 빌드합니다. 따라서 make clean을 하여도 따로 캐싱해놓기 때문에 빠른 빌드가 가능합니다.

(이 기능은 안드로이드 프레임워크 빌드시스템에서 지원하는 부분 빌드와는 다릅니다 :))


설정을 위해서 bashrc를 오픈합니다.

vim ~/.bashrc


bashrc파일 맨 아래에 export USE_CCACHE=1 를 추가하여 CCACHE를 ON해줍니다.

또한 CCACHE_DIR에 캐시를 저장할 디렉터리를 설정합니다. 설정하지 않을 경우 기본적으로 ~/.ccache에 저장됩니다.

export USE_CCACHE=1

export CCACHE_DIR=<path-to-your-cache-directory>


다음으로 캐시 사이즈를 설정합니다.

prebuilts/misc/linux-x86/ccache/ccache -M 50G


(Android ICS 이전 버전이라면)

prebuilt/linux-x86/ccache/ccache -M 50G

구글에서는 50~100GB정도를 권장한다고 합니다.

이제 캐시 설정이 완료되었고 빌드를 하면 캐시되어 다음 번 빌드를 좀 더 빠르게 해줍니다.



4. 소스 Downloads

Android Framework는 https://android.googlesource.com 에서 Git으로 관리되고 있습니다. 

Git은 리눅스를 만든 리누즈 토발즈가 개발한 버전관리 시스템이죠 :) 역시 리눅스가 뿌리(?)인 만큼 Git을 사용하여 버전관리를 하고 있습니다.

저도 Git을 잘쓰고 싶네요 ㅎㅎㅎ


어쨌든 소스를 받으러 가봅시다.

Android Framework는 특이하게도 Git을 뿌리로 둔 조금은 다른 Repo라는 바이너리를 통해 관리됩니다. Repo는 Git에 구글이 필요로 하는 기능을 추가시킨 버전이라고 생각하시면 되겠습니다.

자세한 Build workflow를 알고 싶으시다면 https://source.android.com/source/developing.html 이 곳을 참조해주세요 :)


다음 명령어로 home디렉터리에 bin디렉터리를 생성하고 bash에 PATH를 추가합니다.

$ mkdir ~/bin

$ PATH=~/bin:$PATH


 그 곳에 curl를 이용하여 repo binary를 다운로드하고 실행 권한을 줍니다.

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo


이어서 프레임워크 소스를 받을 디렉터리를 생성하여 줍니다.

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY


ex)

$ mkdir ~/android_framework

$ cd ~/android_framework

저는 mkdir ~/android_framework 로 home디렉터리에 android_framework 디렉터리를 생성하였습니다.


다운로드 준비가 거의다 되어갑니다. repo initialize를 한 다음 소스를 다운로드 받습니다.


다음과 같이 입력하면 master branch를 다운로드 준비합니다.

$ repo init -u https://android.googlesource.com/platform/manifest


그러나 개발자마다 필요한 branch가 있기 때문에 tag나 branch를 선택하여 다운로드할 수도 있습니다.

저희 팀은 kitkat 중 가장 최신 빌드인 4.4.4_r1.0.1을 택하여 진행하였습니다. 따라서 아래와 같이 입력하시면 가능합니다.

branch목록은 https://android.googlesource.com/platform/manifest/+refs 에서 확인하시면 됩니다. :)

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.4_r1.0.1


repo init을 하면 몇가지 다운로드가 되고 잠시후 sync준비가 완료됩니다.

자~ 이제 모든 설정이 끝나고 repo를 통해 소스를 다운로드 받습니다. repo in참고로 다운로드 용량은 약 11GB정도 되며 네트워크 상황에 따라 다운로드 시간이 다릅니다.

100Mbps회선을 기준으로 약 5시간정도 걸린것 같습니다 ㄷㄷ

$ repo sync


이제 git에서 android framework를 다운로드합니다. 이제 잠시 잊고 나가서 놀거나 한숨 자도록 합니다.

다만, 가끔 불안정한 이유로 다운로드가 멈추기도..합니다..ㅠㅠ

그럴 때는 다시 sync해주시면 이어 받습니다. (가끔 안이어 받기도 하더라구요..ㅋㅋㅋ)


자 이제 다운로드가 완료되었습니다!!!

오랜만에 장문의 글을 쓰다보니(?)매끄럽지 않은 부분도 있습니다. ㅠㅠ 보면서 계속 수정할터이니 참고 봐주세요 ^^

다음 편에서 빌드방법을 이어나가겠습니다~~

감사합니다 :)



Posted by Written. 깡s

댓글을 달아 주세요

지난 글(Nexus Lollipop (롤리팝) 업데이트 및 다운로드) 에 Nexus Series에 롤리팝이 업데이트되어, OEM Unlock된 Nexus에 factory image를 올리는 방법을 알려드렸습니다.


오늘은, 순정 상태의 Kikat 4.4.4에서, OTA(On The Air)이미지를 수동으로 받아 업데이트 하는 방법을 알려드릴까 합니다 ^^



from. d.android.com



단, OTA이미지로 디바이스를 업데이트하기 위해서는 꼭 Kitkat 4.4.4 (KTU84P)버전이어야 합니다.

그렇지 않을경우 해당 버전으로 맞춰주시거나, factory image flashing을 하셔야 합니다.


먼저, 각 Nexus 기종별 Lollipop OTA이미지는 다음과 같습니다.

Nexus5 (LRX21O) _hammerhead

Nexus4 (LRX21T) _mako

Nexus7 (2013) WiFi (LRX21P) _razor

Nexus7 (2012) WiFi (LRX21P) _nakasi


파일을 다운로드 받으시면 굉장히(?)긴 파일 이름으로 다운로드 됩니다. hash값과 버전 등이 표기되어 있습니다.

이를 쓰기 편한 이름으로.. 간단하게 여기서는 update.zip으로 바꿔주겠습니다. (뒤에 나오는 adb sideload를 이용하기 위함입니다.)


예를 들어, Nexus5 같은 경우에는 

c1a33561be84a8a6a7d5a4c8e3463c4db9352ce6.signed-hammerhead-LRX21O-from-KTU84P.c1a33561.zip

-> update.zip

으로 해줍니다.


이제 adb와 fastboot가 필요한 시점입니다. 안드로이드 개발을 해본신 분들이라면 sdk내에 adb와 fastboot가 포함되어 있습니다.

경로는 sdk경로\platform-tools\ 에 위치하고 있습니다.


없으신 분들을 위해

AndroidSDKSlim.zip 

여기 업로드를 해놓았으니 받아서 압축을 풀어서 사용하시면 됩니다. (출처 : xda-developers)


이제, platform-tools 폴더 내에 아까 받아서 이름을 바꿨던 update.zip파일을 옮겨주도록 합니다.



그럼 다음과 같이 위치할 것입니다 ^^

이제 시작-실행-cmd를 입력해서 cmd창을 켜서 adb가 있는 platform-tools 폴더까지 이동하시거나, 다른 방법으로는 Shift키를 누르고 있으면서 platform-tools폴더에 대해 오른쪽 클릭하면 뜨는 context메뉴에서, 여기서 명령 창 열기를 클릭해줍니다.


이미 폰이 개발자 옵션-USB디버깅을 통해 드라이버도 설치하고 adb interface 연결이 되어 있다고 가정합니다.


그럼 adb가 있는 폴더경로에서 다음과 같이 입력합니다.

 > adb reboot recovery


그렇다면, 폰이 자동으로 재부팅되면서 다음과 같이 안드로보이가 누워있는 것을 볼 수 있습니다 ㅎㅎ


다른 방법으로는, 스마트폰/태블릿의 전원을 꺼놓고 볼륨작게버튼+전원키를 동시에 누르면서 전원을 켜면 bootloader모드로 부팅됩니다. 그 곳에서 볼륨키로 메뉴이동을 하여 상단에 Recovery mode라고 표시되면 확인버튼(전원키)를 눌러 Recovery mode로 진입할 수 있습니다.

기종별 자세한 방법은 다음 링크의 복구모드에서 기기 초기화 항목을 참조해 주세요! 

(다만 여기처럼 초기화 해버리시면 안됩니다. 꼭 Recovery mode 접근하는 방법만 참조하세요!)


그럼 이어서 계속 가보겠습니다.

여기서 전원키(홀드키) + 볼륨크게버튼을 동시에 누르면 아래와 같은 메뉴가 나오게 됩니다.

메뉴 이동을 볼륨크게, 작게버튼 이며, 확인버튼은 전원키입니다.



메뉴 이동 버튼을 통해서 아래로 이동해 apply update from ADB메뉴로 이동하고 확인버튼 (전원키)를 눌러줍니다.

저는 이미 업데이트를 해서 Recovery mode 버전에 LRX21O로 출력되네요 ㅎㅎ


위에서 apply update from ADB를 선택하면 화면 하단에 아래와 같은 문구가 뜨면서, adb sideload <filename>을 통해서 하라고 되어 있습니다.


이 상태에서 다시 PC의 cmd창으로 와서 다음과 같이 입력해줍니다.

 > adb sideload update.zip


입력하면, sideload 기능을 통해서 update.zip파일이 전송되고 이를 통해서 update가 적용됩니다.

파일을 폰으로 전송하고, flashing에 약간 시간이 소요되니 차분히 기다려주시면 됩니다.


어제, 오늘부터 차차 OTA메시지가 전송되고 있다하니 어렵다고 생각되시면 기다리면 이번주내로 업데이트가 될 것이라 생각됩니다.^^


이것으로 OTA파일을 통한 업데이트를 마치겠습니다 :)

Posted by Written. 깡s

댓글을 달아 주세요

  1. Favicon of http://simglorious.tistory.com BlogIcon 도플파란 2014.11.18 19:34 신고 Address Modify/Delete Reply

    전... 실수로.. 데이터를 날려 먹었어요..ㅠㅠㅠ 그래서.. 그냥.. 팩토리 이미지를 올렸어요..ㅠ

    • Favicon of http://kkangsworld.net BlogIcon Written. 깡s 2014.11.19 12:31 신고 Address Modify/Delete

      허걱..데이터가 많이 아깝네요 ㅠㅠ
      그래도 이번에 시행착오를 겪으셨으니.. 담엔 실수없이 하실 수 있을거에요!! :)

  2. 2014.11.24 20:59 Address Modify/Delete Reply

    비밀댓글입니다

    • Favicon of http://kkangsworld.net BlogIcon Written. 깡s 2014.11.27 11:19 신고 Address Modify/Delete

      안녕하세요!

      아마 디바이스마다 조금 다를 수 있습니다.
      https://support.google.com/nexus/answer/4596836?hl=ko
      여기 링크에서 복구모드에서 기기 초기화 항목 중에 nexus 4메뉴를 참고해보면 전원 버튼을 누른 상태에서 볼륨 크게 버튼을 누르면 된다고 합니다.

      제가 n4디바이스가 없어서 정확한 확인은 어렵네요 ㅠ.ㅠ
      한번 참고해보셔요 ^^..

  3. 체르샤 2014.11.25 23:46 신고 Address Modify/Delete Reply

    님 ㅠㅠ

    마지막 단계 adb sideload update.zip 명령하면
    error : device not found <-- 라고 뜨네요 ㅜㅜ

    드라이버 설치 되어있구요ㅜ 리커버리 모드로 가게 하는 명령까지 먹혔었어요 ㅠ

    어케해요? ㅜㅠ

    • Favicon of http://kkangsworld.net BlogIcon Written. 깡s 2014.11.27 11:21 신고 Address Modify/Delete

      adb sideload 명령어를 입력하실 때는 아마 리커버리 모드상태에서 새롭게 adb driver를 잡아야 할 수도 있습니다.

      디바이스를 recovery mode로 부팅하고, sideload 명령어가 먹히는 화면에서 장치관리자를 여셔서 잡혀있지 않는 디바이스가 혹시 있는지 확인해보세요!

      예전에 경험상 recovery mode로 부팅하면 새롭게 adb interface driver를 잡아야했던 적이 있습니다!



Nexus 시리즈의 Lollipop (롤리팝)이 드디어 업데이트 되었습니다! 

현재는 OTA(On The Air)가 진행중입니다.


현재 많은 개발자(?)들에 의해 OTA Direct Link가 추출되었고 android developer 사이트에도 factory image의 링크가 올라왔습니다.


기존에 저는 Nexus5에 Preview Image를 사용중이었습니다. Material Design이 가미된 Android는 이전의 버전들과는 스크롤링과 디자인 개념 자체가 달라지는 것을 보면서, 가끔 새로운 OS로 착각할 정도 였습니다 :)


정식으로 릴리즈된 롤리팝을 업데이트해서 Kikat, Android L Preview에 이어서 어떻게 완성되었는지 궁금증을 해결해야겠습니다.



다음의 다운로드 링크는 구글의 factory image입니다. 아래에 확인해주시길 ~^^

Nexus 5 

Nexus 7 (2013) WiFi

Nexus 7 (2012)

Nexus4 - lrx21t

Nexus 10


 Update #2 2014. 11. 18. 15:53

순정 상태의 kikat 4.4.4 (KTU84P)에서 OTA파일을 통해 업데이트하는 방법을 게재하였습니다.

OEM Unlock이 되어있지 않으신 분들은 Nexus 순정 상태에서 Lollipop (롤리팝)으로 수동 OTA 업데이트 글을 참조해서 업데이트 해주세요 ^^


Update #1 2014. 11. 18. 11:23

다음의 사용법은 OEM 언락이 된 상태를 가정하고 설명하였습니다. 이 경우엔 fastboot를 이용해서 하시면 됩니다.

fastboot는 android sdk\platform-tools에 포함되어 있으며, 해당 링크 *.tgz를 압축풀면 flash-all.bat을 이용하여 flashing을 할 수 있습니다.


부트로더로 쉽게 진입하는 방법은 개발자 옵션-USB 디버깅을 켜놓고, adb를 이용해 adb reboot-bootloader 명령어를 입력하면 바로 bootloader mode로 진입할 수 있습니다.


단, flash-all.bat을 사용할 경우 userdata영역도 flashing하기 때문에 사용자 데이터가 모두 삭제되니 주의하시기 바랍니다.

또한 -w 옵션을 사용하면 기존 데이터가 초기화됩니다. 


따라서, 다음 그림과 같이 -flash-all.bat 파일을 notepad 등의 editor로 열어서 -w 옵션을 삭제하시고 저장하여 실행하면 userdata 영역이 보관되어 기존 어플리케이션 및 데이터가 보관됩니다 ^^ 


이점 참고하시어 flashing 하시길~!


OEM Lock상태 (순정 official)에서도 sideload를 이용하시면 Unlock없이 OTA처럼 업데이트가 가능합니다.


Posted by Written. 깡s

댓글을 달아 주세요

Gmail팀에서 개발한 Inbox가 공개되었습니다. 



저번주에 google에서 초대장을 발송해주어 사용해 볼 수 있었습니다.

inbox@google.com에 계속 request 메일을 보냈더니 어느순간 갑자기 초대장을 발송해줘서 쓸 수 있었네요 ㅎㅎㅎ


일단, 저는 기존에 gmail을 Labeling하여 사용하고 있었습니다.

금융정보, IT정보, 광고 및 쇼핑메일, 기타 중요 연락망등을 등록하여 사용하고 있었습니다.


Inbox로 넘어가니 Labeling대신 bundle화하여 google에서 쌓아놓은 bigdata를 기반으로 해당하는 box이름으로 tagging하여주었습니다.


처음온 메일이어도 내용을 분석하는 건지, 알맞은 카테고리에 들어갔습니다.

카테고리는 Travel, Purchases, Finance, Social, Updates, Forums, Promos가 존재합니다.

아래에 스크롤을 해보면 기존에 제가 Gmail에서 사용하던 Label도 존재하였습니다.





알아서 정말 tagging이 되었는지 확인해보려고 각각 Bundled된 Inbox에 들어가 확인해보았습니다.



여기는 Social 이었습니다. 트위터와 Youtube에서 온 메일들이 잘 들어가 있네요 :)



여기는 Promos입니다. Promotion 메일들이 분류되어 저장됩니다. 교보문고, Ebates, 키움증권, Any.do App 등에서 보내온 프로모션 메일들이 잘들어와 있습니다.


사실 위에 해당하는 업체들이 유명한 업체들이기 때문에 google에서 이미 카테고리화 해놓은 것이 아닌가도 의심해봤습니다. 그러나 그 외에 개인적인 메일이나 세미나 메일도 해당하는 곳에 정확히 잘 분류되는 것을 볼 수 있었습니다 ^.^


가끔 제대로 분류되지 않거나 unbundled된 것들은 제가 임의로 분류해주면 이것이 google에 전송되어 한가지의 data로 분류될 것이라는 생각이 듭니다.


아직 서비스 초기이고 초대장을 가진 사용자만 사용할 수 있기에, 추후 더 많은 데이터가 쌓인다면 정말 알아서 척척하는 Inbox by Gmail 이겠네요.


google에 점점 더 강력해짐을 알 수 있게 해주는 그런 서비스 였습니다 :)

Posted by Written. 깡s

댓글을 달아 주세요

Application 개발 중에 계속 움직여야하는 issue가 발생 하였는데, 
USB에 꽂았다가 뺐다가 하기가 생각보다 번거럽고, 또한 움직임의 Log를 보기가 쉽지 않아 찾던 중 ADB를 WIFI로 연결하여 사용할 수 있는 방법을 알게 되었다.

사용하니, 돌아댕기면서 Log를 남길 수도 있고 (따로 하드코딩 하지 않고), 기타 ADB를 이용하여 debug할 수 있어서 편하다 :)

How TO ::

1. 먼저, 평소처럼 USB케이블을 이용하여 스마트폰을 컴퓨터와 연결한다.

2. 스마트폰과 컴퓨터를 같은 네트워크 영역의 WIFI에 연결한다. (네트워크 상황에 따라 다르겠지만, 같은 공유기에 연결한다고 생각하면 쉬울 것 같다.)

3. 스마트폰이 WIFI에 연결되면 스마트폰에 할당된 IP address를 확인한다. (휴대폰 WIFI연결 설정 부분에서 연결된 WIFI를 누르면 네트워크 연결 상태가 나오는데, 그곳에 ip address, 암호화 방식, 연결속도 등을 확인할 수 있다.)

4. cmd를 이용하여 다음과 같은 명령어를 입력한다. 

adb tcpip 5555
adb connect 스마트폰 IP address:5555

(ex : ipaddress가 192.168.10.21이라면,
adb connect 192.168.10.21:5555를 입력하면 된다.
tcpip 5555에서 5555는 임의로 설정한 포트번호이고, 빈 포트 중 사용하려 하는 포트를 입력해주면 된다.)
 

이렇게 입력해서 연결되면,
connected to 스마트폰 IP address:5555 라는 메시지가 나오게 된다.

이제 연결이 완료 되었고 평소와 다름없이(?) eclipse나 adb를 사용하면 되겠다!! 좋...다 :)

Posted by Written. 깡s

댓글을 달아 주세요

  1. Favicon of http://kmjg6357.tistory.com BlogIcon k_mjg 2013.10.23 10:14 신고 Address Modify/Delete Reply

    개발자옵션에서 네트워크 adb 안켜도 되는건가요?
    순정롬에서는 adb tcpip * 사용해도 않되고 커스텀롬의 개발자옵션에 네트워크adb 켜주기만 하면 adb연결이 되서요..

    • Favicon of http://kkangsworld.net BlogIcon Written. 깡s 2013.11.28 14:01 신고 Address Modify/Delete

      헉..답변을 길게 남겼는데 날라갔네요 ㅠㅠ
      안녕하세요 :) 답변이 늦었습니다.

      저도 CM롬이 올라간 Nexus S와 순정롬인 갤럭시노트2, 갤럭니s4미니를 사용중인데요.

      말씀하신대로 CM롬이 올라간 Nexus S는 별다른 adb설정 없이, 개발자옵션에서 네트워크adb옵션을 켜주기만 하면 별 무리없이 adb connect연결이 가능합니다.

      순정롬인 폰에서도 저의 경우에는 잘되는데, 간혹 연결이 되지 않아서, adb tcpip 설정을 하면 에러나 나거나 이미 설정되어 있다는 메시지가 나옵니다.

      그럴때는 폰을 재시작하고 다시 adb tcpip설정을 해주면 잘되었습니다. 폰을 재시작하면 tcpip설정 부분이 reset되는듯 합니다 :)