서론

 - Android Studio를 접한지 하루가 지났습니다.
    Android Studio에 대해서 구글에서 검색해본 결과, 일부 사람들은 Eclipse보다는 좋은 툴이라고 말씀하시는 분들도 있지만, 일부는 툴의
    사용법이 너무 어렵다고 Eclipse를 사용하시는 분들도 있더군요.
    그런데 앞으로의 추세를 보았을 때, Android Studio를 개발자들이 많이 사용하게 되지 않을 까 싶습니다.

    그래서 저는 이 툴에 대해서 설치 및 사용을 해보고자 이글을 정리해서 올립니다.

    Android Studio에 대해서 잘 정리하신 분이 계셔서 해당글의 내용을 아래에 적어드립니다.
    여러분들도 도움이 되셨으면 하네요.

    [ http://blog.saltfactory.net/227 ]


Android Studio HomePage
 - Android Developer : http://developer.android.com/sdk/installing/studio.html

 - Android Studio : http://paolorotolo.github.io/android-studio/


설치 (Ubuntu 에서 shall 명령어를 통한 설치) : Android Studio 홈페이지 참고.

 - sudo apt-add-repository ppa:paolorotolo/android-studio 

    sudo apt-get update 

    sudo apt-get install android-studio
 - 위의 명령어 들을 이용하여, 설치가 완료가 된 후, App 목록에서 확인해보면, Android Studio가 설치되었음을 확인할 수 있다.
    (저같은 경우에는 설치가 끝났음에도 App 목록에 나타나지 않아서 재부팅을 해보니 설치가 됨을 확인할 수 있었다.)

 - 위와 같이 설치시, 다음과 같은 경로에 설치가 됨.
    경로) /usr/share/android-studio/data/


설치 (Android Developer에서 다운 받았을 경우.)

 - Android Developer에서 Android Studio 압축 파일을 다운받았다면, 원하는 위치에 압축을 풀어줍니다.
    --> 예) tar -xzvf android-studio-bundle-135.1245622-linux.tgz

 - 위 명령어를 통해서, 압축을 풀었다면, 압축을 풀은 경로에서 아래의 경로를 이동하여, studio.sh를 실행하면 됩니다.
    경로) .../android-studio/bin/studio.h


위와 같이 실행하기 전에 메모리를 조금 늘려주어야 한다. 그렇지 않으면, 로딩 및 빌드시 상당한 시간을 소요하게 된다.

/bin/studio.vmoptions 파일을 Open 하여 다음과 같이 수정하면됩니다.

-Xms512m

-Xmx768m

-XX:MaxPermSize=350m

-XX:ReservedCodeCacheSize=96m

...

-Dfile.encoding=UTF-8


마지막 부분은 파일을 열때, 한글이 깨지지 않도록 처리하는 부분입니다.


환경 변수에 설정하고 싶다면, 다음과 같이 설정해주면 됩니다.

sudo vi /etc/bash.bashrc 와 같이 해당 파일을 Open한 후, 마지막 부분에 다음과 같은 명령어들을 추가해주면 됩니다.

 - export PATH=$PATH:/usr/share/android-studio/data/bin


혹시 부족하거나 잘못된 내용이 있다면, 많은 지적 부탁드릴게요 ^^

오늘도 즐거운 하루 되셔요.


안드로원의 커스텀 펌웨어 업그레이드 방법을 보고 오드로이드에 구글앱을 설치해 보니 잘 동작을 한다. +_+ 설치 방법은 다음과 같다.


1. 구글앱 패키지를 내려 받는다. 내려받아야 하는 파일은 다음과 같다.

http://http://goo-inside.me/google-apps/gapps-hdpi-20101114-signed.zip


2. 내려 받은 구글앱압축 파일을 오드로이드의 SD메모리에 저장한다.


3. 기본적으로 Rooting이 되어 있어야 하는데 오드로이드의 경우 최종릴리즈된 버전으로 업그레이드를 하면 기본적으로 루팅이 되어 있다.


4. 다음의 명령을 통하여 패키지를 설치 한다.

     adb shell

     unzip -o /mnt/sdcard/gapps-hdpi-20101114-signed.zip -x "META-INF*" -d /


5. 모든 작업이 완료되면 단말기를 재부팅후 사용하면 된다. 

<meta charset="utf-8">

출처 : http://blog.naver.com/PostView.nhn?blogId=seojongbeom&logNo=50105521215


Title.
넥서스 원 빌드에서 다운까지.
 
 
1. 넥서스 원 빌드를 위한 세팅.
 
넥서스 원 스크립트 실행
 
단말을 연결한 상태에서 WORKING_DIRECTORY 로 이동 후
cd ./device/htc/passion/
./extract-files.sh 
 
>> extract-files.sh 분석.
system/lib 에서 .so 파일들을 추출하여 플랫폼 소스에 복사.
system/etc 에서 기타 필요한 파일들을 복사함.
device-vendor-blobs.mk  빌드 옵션 추가함.
./setup-makefiles.sh 실행.
[출처] 넥서스 원 생강빵 입히기 3. 생강빵 입혀보기~|작성자 핫뜨이마

출처 : http://blog.naver.com/PostView.nhn?blogId=spreet&logNo=50114562613&parentCategoryNo=1&viewDate=&currentPage=1&listtype=0

Nexus 7에 대해 빌드하는 방법에 대해 정리를 해보았습니다.


그리고 WiFi 전용 모델 입니다.


우선 환경은 Ubuntu 12.04 64bit 환경 입니다.


1. 작업 디렉터리 설정하기

  ~$mkdir Android_Nexus

  ~$mkdir Android_Nexus/bin

  ~$mkdir Android_Nexus/src


 2.필수 패키지 설치

 ~/Andorid_Nexus$sudo apt-get update // Package 최신으로 Update

 ~/Andorid_Nexus$sudo apt-get upgrade // 최신 Package 설치

 ~/Andorid_Nexus$sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386


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


3.JDK 6 설치

  ~/Andorid_Nexus$wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java.sh


 ~/Andorid_Nexus$chmod a+x oab-java.sh

 ~/Andorid_Nexus$sudo ./oab-java.sh

 ~/Andorid_Nexus$sudo apt-get install sun-java6-jdk

 ~/Andorid_Nexus$sudo update-alternatives --config java


4.Android 4.2 Source Download

 ~/Andorid_Nexus$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ./bin/repo


 ~/Andorid_Nexus$chmod u+x ./bin/repo


 ~/Andorid_Nexus$gedit ~/.bashrc


[내용 입력]

 - export PATH=${PATH}:~/Andorid_Nexus/src/out/host/linux-x86/bin
   export ANDROID_PRODUCT_OUT=~/Andorid_Nexus/src/out/target/product/grouper


 ~/Andorid_Nexus$source ~/.bashrc


 ~/Andorid_Nexus$cd src

 ~/Andorid_Nexus/src$repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1

 ~/Andorid_Nexus/src$repo sync


5. Android 4.2 Binary Driver Download

   https://developers.google.com/android/nexus/drivers#grouperjop40c 로 접속 후,

   해당 드라이버 바이너리들을 Android_Nexus/src/안에 저장.

 

Nexus 7 (Wi-Fi) binaries for Android 4.2 (JOP40C)

Hardware Component Company Download MD5 Checksum SHA-1 Checksum
Wi-Fi, Bluetooth, GPS Broadcom Link 2860929996827f53d38e5432c9dc7dc7 40b15ad807e1cbddca36fd64f60691cc8d621c07
Touch Panel ELAN Link 6c2b4c4f5301c25ff6982b909ba838f1 1de7a664e4bf53a5427e31363ae9024c762ab20f
Orientation Sensor Invensense Link d31fdd0513cf91fbc8aebd8a0a8205f2 95a5a4b2d35bfcdb4ec5f88487f41bef75d04757
Graphics NVIDIA Link bc8c6e082925f642562688b2abebf617 38383f75dfa5fd1573a8b6501940af848b983a2b
NFC NXP Link 436654fa7b2d688f6b332dcf0d053eed b006a2f1e828af068a6c48a8af87b05dd27ab28b
DRM Widevine/Google Link fc4acdc2ccb17b8e9abd8c14957eab49 2916b2ab791fcc07f1a53802e02860136354ae36


위와 같이 다 받았다면, 아래의 명령어 들을 실행합니다.

~/Andorid_Nexus/src$for i in *.tgz; do tar -xvzf "./$i"; done


위의 명령어를 실행하였으면 sh 파일들이 생성되는 것을 확인할 수 있습니다.


여기서 해당 파일들을 하나씩 터미널로 실행시킵니다.


그러면 라이센스가 나오게 되는데 이때, 라이센스틑 반드시 다 읽고 마지막에 "I AGREEDED" [확실치 않음.] 라고 입력해 주고 엔터를 입력해야 정상적으로 바이너리가 설치가 됩니다.


이런 방식으로 나머지 드라이버 바이너리 sh 파일들을 실행시켜 줍니다.


6. Build.

~/Andorid_Nexus/src$source build/envsetup.sh

~/Andorid_Nexus/src$lunch

    lunch 명령을 입력하면 빌드할 명령어를 적어달라고 합니다.

    여기서 엔지니어로 처리하고 싶으면, 출력된 예제대로 출력해주면 되고,

    저는 grouper 빌드 방법에서 userdebug가 아닌 eng로 변경하여 설정하였습니다.

~/Andorid_Nexus/src$make -j4

   여기서 -j4라는 옵션은 Thread를 4개 돌린다는 말로 만약 듀얼코어이면 -j2 이런식으로 처리하면
   됩니다.


7. udev 설치.

~/Andorid_Nexus/src$sudo bash

~/Andorid_Nexus/src#echo SUBSYSTEM==\"USB\", ATTR{idVendor}==\"04e8\", MODE=\"0666\", GROUP=\"plugdev\" >> /etc/udev/rules.d/90-android.rules


~/Andorid_Nexus/src#chmod a+r /etc/udev/rules.d/90-android.rules

~/Andorid_Nexus/src#service udev restart


8. 바이너리 올리기

~/Andorid_Nexus/src$ sudo bash

~/Andorid_Nexus/src#adb reboot bootloader

[기기 upload 모드로 변환]


~/Andorid_Nexus/src#fastboot oem unlock

~/Andorid_Nexus/src#fastboot erase cache

~/Andorid_Nexus/src#fastboot erase userdata

~/Andorid_Nexus/src#fastboot flashall

여기서 flashall은 환경 변수에서 설정한 ANDROID_PRODUCT_OUT의 경로를 통해서 자동으로 image 파일들을 추출 후 연결된 기기로 자동으로 업로드 해주는 명령어 입니다.


[Fastboot 관련 명령어 참고 : http://www.androidpub.com/3633]


위와 같은 작업을 함으로써 정상적으로 바이너리가 올라가는 것을 확인하였습니다.


===================================================================================

Google Apps를 올리는 방법


1. [전제조건 : 루팅이 되어 있어야 함.]

     우선 gapps를 검색하여 다운로드 받습니다.

     [http://goo.im/devs/KonstantinKeller/mako/gapps/gapps-4.2-JOP40C-121116.zip]

     다운로드 받았으면, gapps를 기기의 sdcard에 다운로드 받습니다.

   

     adb shell 상에서 unzip 명령을 사용하기 위해서는 다음의 파일을 다운로드 받아서 설치합니다.

     [busybox.tar]

     설치 방법은 다음과 같습니다.

     1) 위의 파일을 컴퓨터에 다운 받습니다. 그리고 터미널을 이용하여 다운받은 위치로 이동 후 다음과

          같은 명령어로 압축을 풀어줍니다.

          tar -xvf busybox.tar

     2) adb remount 란 명령어를 이용하여 기기를 remount 시켜줍니다.

          그리고 해당 파일을  adb push를 이용하여 /data/busybox 란 위치에 올려줍니다.

          adb push busybox /data/busybox

     3) adb shell 명령어를 이용하여 기기의 shell로 접속 합니다.

     4) 업로드한 busybox 위치로 이동합니다.

          cd /data/busybox

     5) 해당 경로로 이동하였다면, 다음과 같이 명령어를 입력하여 설치합니다.

         chmod 777 busybox

         ./busybox --install -s /data/busybox

         export PATH=/data/busybox:$PATH

      6) 위와 같이 처리하였다면, unzip 명령이 먹힐 것입니다.


     여기까지 작업을 하였다면, 이 전에 기기에 올린 gapps의 zip 파일을 다음의 명령어를 통해서
    설치합니다.

     ./unzip -o /sdcard/gapps-4.2-JOP40C-121116.zip -x "META-INF*" -d /

    위의 명령어를 통해서 설치를 완료하였다면, 기기를 재부팅 합니다.

   그러면 셋업 위자드가 뜨면서 Google App 들이 설치되어 있는 것을 확인 할 수 있습니다.

 

  2. [빌드시 적용 방법.]

      아래의 주소는 어렵게 구한 Gapps가 존재하는 소스 입니다.

      [넥서스 7 Wifi (구글 apk 및 기타 apk들 포함.):
                     https://github.com/rpcraig/grouper_gapps/downloads]

      [구글 apk :
                     https://github.com/rpcraig/android_vendor_google_gapps]

      일단 넥서스 7 WIFI에 포함된 Google Apps 및 깉타 앱들이 포함된 소스를 빌드하는 방법을

     설명해드리겠습니다.

     우선은 위의 소스를 전달 받게 되시면 아래와 같이 몇가지 작업을 하셔야 합니다.


     1. 먼저 위에서 풀소스 및 드라이버 바이너리를 다운받아서 설치를 했기 때문에 전달 받은 파일들의

          mk 파일에서 수정을 해야 합니다.


         수정 내역은 다음과 같습니다.

         1. vendor/asus/grouper/bin/Android.mk 파일에서 glgps 파트 주석 처리.
         2. vendor/asus/grouper/lib/Android.mk 파일에서 gps.tegra3 파트 주석 처리.
         3. vendor/asus/grouper/vendor/Android.mk 파일에서 libpn544_fw 파트 주석 처리.


         위와 같이 수정을 하였다면, 이제 두번째 작업을 시작해야 합니다.

         우선 인터넷에서 gapps-4.2-JOP40C-121116.zip 명으로 검색하여 파일을 다운로드 합니다.

         다운이 완료되면 다운 받은 파일과 방금 다운 받은 넥서스 7 Wifi (구글 apk 및 기타 apk들 포함.)
         압축파일 들을 압축 해제 합니다.


        압축을 풀었다면, 이제 gapps-4.2-JOP40C-121116의 파일들을 잘라내서 그대로 넥서스 7 Wifi
        (구글 apk 및 기타 apk들 포함.)를 압축 푼 폴더에 붙여넣기 합니다.

        이는 인터넷에서 받은 버전은 허니컴버전이기 때문에 App 실행에 있어서 원활하게 실행을 할 수
        가 없다.

        복사가 완료되었다면, 이제  Android 폴더에서 vendor/asus/grouper/에 복사합니다.

        예제)

    


      그리고 빌드를 돌려주시면 됩니다.


     만약 넥서스 7 이 아닌 구글 apk만 설치하겠다면, vendor폴더에서 google이라는 폴더를 생성 후

    그 안에 넣어서 빌드를 돌려주면 됩니다.

    감사합니다.


   




+ Recent posts