Android/App개발2009. 4. 25. 11:55
http://www.kandroid.org/board/board.php?board=edupreparation&page=2&command=body&no=4

1. 안드로이드 SDK 설치.

 
먼저 아래의 URL에서 안드로이드 SDK를 다운로드 한 후, 원하는 디렉토리에 설치(압축해제) 합니다.
 
http://code.google.com/android/download.html
 
2008년 11월 현재시점에서 배포되고 있는 안드로이드 SDK는 다음과 같습니다.
 

Platform

Package

Size

MD5 Checksum

Windows android-sdk-windows-1.1_r1.zip 86038515 bytes 8c4b9080b430025370689e03d20842f3
Mac OS X (intel) android-sdk-mac_x86-1.1_r1.zip 79046151 bytes 8c4b9080b430025370689e03d20842f3
Linux (i386) android-sdk-linux_x86-1.1_r1.zip 79345522 bytes 8c4b9080b430025370689e03d20842f3

 
 
2. Java Development Kit (JDK) 설치
 
아래의 URL에서 JDK 5 또는 JDK 6 을 설치합니다.
 
http://java.sun.com/javase/downloads/index.jsp
 
위의 2009년 1월 20일 현재 배포되고 있는 Java SE Development Kit (JDK) 6 Update 11을 설치하시면 됩니다.
(주의사항 : 안드로이드 개발을 위해서는 JRE(Java Runtime Environment) 만 설치해서는 안되니,
                필히 JDK를 설치하시기 바랍니다.)
 
 
3. 이클립스(Eclipse) 설치
 
아래의 URL에서 Eclipse Classic 3.4.1 (151MB) 다운로드 하여 설치합니다.
 
http://www.eclipse.org/downloads/
 
 
4. 안드로이드 이클립스 플러그인  Android Development Tools (ADT) 설치
 
- 이클립스상의 메뉴에서 Help > Software Update 를 선택합니다.
- Software Update Dialog 창의 탭에서 Available Software를 선택합니다.
- Add Site 를 클릭하신 후, https://dl-ssl.google.com/android/eclipse/ 를 입력하고 OK를 클릭합니다.
  (만약, Error 메시지가 발생한다면, http://dl-ssl.google.com/android/eclipse/ 를 입력하고 OK를 클릭)
- 리스트 목록중 https://dl-ssl.google.com/android/eclipse/ 하위의 Developer Tools Check 하신 후,
   Developer Tool 하위의 Android Development Tools와 Android Editor Check 도 확인하신 후,
   Install 을 클릭합니다. (인스톨 과정에서 약관에 동의하신 후, Finish를 클릭합니다)
- 이클립스가 다시 실행되고 나면, 메뉴의 Window > Preferences를 선택합니다.
- Preferences Dialog 창의 왼쪽 탭에서 Android를 선택한 후,
   SDK Location에 위에서 설치(압축해제)한 안드로이드 SDK의 위치를 지정한 후 Apply를 Click합니다.
 
5. 간단한 안드로이드 예제 애플리케이션 작성 및 실행
 
- 이클립스상의 메뉴에서 File > New > Android Project 를 선택합니다.
- New Android Project Dialog 창에서 아래와 같이 항목을 기입합니다.
      Project name : HelloAndroid
      Package name : org.kandroid.sample
      Activity name : HelloAndroid
      Application name : HelloAndroid
- Ctrl-F11 key를 누른 후, Run-As Dialog 창이 뜨면 Android Application을 선택한 후, OK를 클릭합니다.
  (  또는 위에서 생성된 프로젝트, 즉 HelloAndroid에서 마우스 우측버튼을 누른 후,
      Run-As에서 Android Application을 선택하여도 됩니다.
      또한, Run-As에서 Run Configurations를 선택한 후, 다양한 실행관련 설정을 하셔도 됩니다.)
- 이제 안드로이드 에뮬레이터상에서 HelloAndroid라는 애플리케이션의 실행을 확인하실 수 있을 겁니다.
 
6. Eclipse에 SVN 플러그인 설치
 
인터넷에 존재하는 많은 안드로이드 애플리케이션 소스들이 svn 상에 존재하는 경우가 많습니다.
이를 효과적으로 활용하기 위해선, svn 플러그인을 설치하는 것이 바람직합니다.
 
- 이클립스상의 메뉴에서 Help > Software Update 를 선택합니다.
- Software Update Dialog 창의 탭에서 Available Software를 선택합니다.
- Add Site 를 클릭하신 후, http://subclipse.tigris.org/update_1.0.x 를 입력한 후 OK를 클릭합니다.
- 리스트 목록중 http://subclipse.tigris.org/update_1.0.x 하위의 Subclipse Plugin을 Check 하신 후,
   Subclipse Plugin 하위의 목록중 상위버전 하나만을 Check 하신 후,
   Install 을 클릭합니다. (인스톨 과정에서 약관에 동의하신 후, Finish를 클릭합니다)
- 이클립스가 다시 실행됩니다.
- 이클립스상의 메뉴에서 Window > Open Perspective > Others를 클릭합니다.
- Open Perspective Dialog 창에서 SVN Repository Exploring 을 선택합니다.
- SVN Repository 와 SVN Annotate Tab 하단이 아이콘 중 SVN+(Add SVN Repository)을 클릭하신 후,
   새로운 SVN Repository URL을 등록하셔서 사용할 수 있습니다.
Posted by 삼스
Android/App개발2009. 4. 23. 11:21
http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=17

안드로이드 소스코드내의 아래의 위치에 존재하는 문서를 참고하시면 안드로이드 Native 라이브러리 및 
해당 라이브러리를 static, 또는 dynamic하게 linking하는 Native 애플리케이션을 제작하는 법에 대한 설명이
존재합니다. 
 
~/mydroid/development/pdk/ndk/README
 
위의 문서를 참조하여, 아래와 같은 절차를 거치시면 다양한 native lib. 및 application을 제작 테스트 해 볼 수
있습니다.

 
1. 가장 먼저 해야할 일은 다음과 아래의 URL에 있는 문서에서의 다음의 두 절차, 
    즉 6번까지의 작업과 8번의 goldfish 부분에 대한 build를 마무리 해야 함.
 
   http://www.kandroid.org/board/board.php?board=androidsource&command=body&no=4
 
  
중략...
 
   6. 안드로이드 빌드 하기
       $ make 
 
   8. Kernel 별도로 빌드하기
        - goldfish
 
        $ cd ~/mydroid/kernel
        $ make goldfish_defconfig ARCH=arm
        $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi- 


 
2. ~mydroid/development/pdk/ndk/config/config.mk 를 다음과 같이 수정한다.
 
<android_full_src_path> 는 각자의 host pc에 설치된 android full source의 root directory 를 지정하면 됩니다.
 
CC         := ~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
AR         := ~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-ar
INC        := -I<android_full_src_path>/bionic/libc/arch-arm/include 
-I<android_full_src_path>/bionic/libc/include 
-I<android_full_src_path>/kernel/include 
-I<android_full_src_path>/bionic/libm/include 
-I<android_full_src_path>/bionic/libm/include/arm 
-I<android_full_src_path>/bionic/libstdc++/include
LINK       := -nostdlib -Bdynamic 
     -Wl,-T,<android_full_src_path>/build/core/armelf.x 
     -Wl,-dynamic-linker,/system/bin/linker 
     -Wl,-z,nocopyreloc 
     -L<android_full_src_path>/out/target/product/generic/obj/lib 
     -Wl,-rpath-link=<android_full_src_path>/out/target/product/generic/obj/lib 
     <android_full_src_path>/out/target/product/generic/obj/lib/crtbegin_dynamic.o
POSTLINK := <android_full_src_path>/out/target/product/generic/obj/lib/crtend_android.o
%.o: %.cpp
        $(CC) $(CFLAGS) -fno-exceptions -fno-rtti $(INC) -o $@ -c $<
%.o: %.c
        $(CC) $(CFLAGS) $(INC) -o $@ -c $<

 
 
3. ~mydroid/development/pdk/ndk/sample/Makefile.lib 를 다음과 같이 수정한다.
 

NDK_BASE   := ..
include $(NDK_BASE)/config/config.mk
SOURCES    := hellolibrary.c
OBJECTS    := $(SOURCES:.c=.o)
LIBS       := -lc -lm
ALIB       := <android_full_src_path>/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a
all: sharedlib staticlib
# Using shared and static suffixes as these are going in the same directory;
# typically you would not do this as you would make only one version,
# but if we don't we'll screw up the linking because of linker defaults.
staticlib: $(OBJECTS)
        $(AR) -cr libhello-static.a $(OBJECTS)
sharedlib: hellolibrary-shared.o
        $(CC) -nostdlib -Wl,-soname,libhello-shared.so -Wl,-shared,-Bsymbolic -L<android_full_src_path>/out/target/product/generic/obj/lib $^ $(LIBS) -o libhello-shared.so -Wl,--no-undefined $(ALIB)
hellolibrary-shared.o: hellolibrary.c
        $(CC) -c -fpic $(INC) -o $@ $^
clean:
        rm -rf *.o libhello-static.a libhello-shared.so

 
4. native library 및 application 제작 및 테스트
 
먼저 ~/mydroid/development/pdk/ndk/로 cd 하신후 부터 아래의 절차를 수행하면 됩니다.
하지만, 아래의 과정을 수행하는 과정에서 shared library를 테스트 하기 위해서는
아래의 예제에 있는 libhello-shared.so 가 반드시 /system/lib 아래에 설치되어야 합니다.
하지만, 현재의 emulator는 /system partition이 ro 모드로 되어 있기 때문에 설치가 불가능합니다.
/system partition을 rw 모드로 바꾸는 작업이 필요한데..번거로울까봐 이곳에서는 가장 간단한 방법
(아래의 0번)
제시하도록 하겠습니다.
 
0번) emulator의 /system partition을 ro -> rw 로 바꾸는 방법. (필수)
 
    - 아래의 새로운 ramdisk.img 를 다운로드 한다.
       
 ramdisk.img(136.2KB)
   
    - 에뮬레이터에 존재하는 ramdisk.img를 backup한다.
      예) android-sdk-windows-1.0_r2 oolslibimages  아래 존재하는 
           ramdisk.img 를 ramdisk.img.orig 로 rename 한다.
    
    - 위에서 다운받은 새로운 ramdisk.img 를 위의 위치로 복사한다.
 
    - emulator를 실행한다.
        
 
1) 간단한 hello world 샘플 애플리케이션 제작
 
  cd ../sample
  make clean
  make
 
  adb push hello system/app
  adb shell
  # cd system/app
  # chmod 755 hello
  # ./hello
  Hello from the NDK; no user libraries.
  # exit
 
2) c++ binary hello_cpp.cpp 애플리케이션 제작 
 
  make -f Makefile.hello_cpp clean
  make -f Makefile.hello_cpp hello_cpp
 
  adb push hello_cpp system/app
  adb shell
  # cd system/app
  # chmod 755 hello_cpp
  # ./hello_cpp
  C++ example printing message: Hello world!
  # exit
 
4) shared library 제작 및 해당 library를 제작하는 사용하는 애플리케이션 제작
 
  make -f Makefile.lib clean
  make -f Makefile.lib sharedlib
  make -f Makefile.uselib clean
  make -f Makefile.uselib use_hellolibrary-so
 
  adb push libhello-shared.so system/lib
  adb push use_hellolibrary-so /system/app
  adb shell
  # cd system/app
  # chmod 755 use_hellolibrary-so
  # ./use_hellolibrary-so
  Library printing message: Hello from the NDK.
  # exit
 
5) static library 제작 및 해당 library를 static으로 링크한 애플리케이션 제작
 
  make -f Makefile.lib clean
  make -f Makefile.lib staticlib
  make -f Makefile.uselib clean
  make -f Makefile.uselib use_hellolibrary-a
 
  adb push use_hellolibrary-a system/app
  adb shell
  # cd system/app
  # chmod 755 use_hellolibrary-a
  # ./use_hellolibrary-a
  Library printing message: Hello from the NDK.
  # exit
Posted by 삼스
Android/App개발2009. 4. 22. 16:44
http://www.mobileplace.co.kr/android_dev_info/2389

구글폰 안드로이드 개발을 시작하시는 분들에게 기본 문서에서 제공하는 노트패드 튜터리얼도 있지만 시작하기 먼가 좀 애매해서 설치부터 완전 기초 부분 까지를 정리 해보았습니다. 처음 개발하시는 분은 아래 강좌보시고, Hello View로 넘어가세요. 그리고 노트패드 튜터리얼로 넘어가는게 좀더 쉽게 시작할 수 있을듯 합니다. 

안드로이드 강좌 1 - 어플리케이션 개발 시작하기. SDK 설치 및 실행
안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로젝트 생성
안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅
안드로이드 강좌 4 - 액티비티(Activity), 뷰(View), 레이아웃(Layout)
안드로이드 강좌 5 - XML에서의 TextView, ImageView, LinearLayout
안드로이드 강좌 6 - Java 코드(Code)에서 뷰(View)  다루기

이제서요(2009년 2월) 구글이 튜터리얼도 업데이트해서 이제 좀 웹으로도 공부할만해졌네요. :)

안드로이드 공식 홈페이지 링크

공식    : 
http://www.android.com
마켓    : 
http://market.android.com
개발자 : 
http://developer.android.com

Posted by 삼스