슬라이드 1

Similar documents
Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

슬라이드 1

Windows 8에서 BioStar 1 설치하기

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

4S 1차년도 평가 발표자료

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

슬라이드 1

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Discrete Mathematics

Microsoft PowerPoint - 10Àå.ppt

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint 프레젠테이션

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Install stm32cubemx and st-link utility

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

슬라이드 1

슬라이드 1

PowerPoint Template

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft Word - src.doc

Mango220 Android How to compile and Transfer image to Target

PowerPoint 프레젠테이션

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Microsoft Word - 안드로이드_개발_매뉴얼1.docx

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint - 03-Development-Environment-2.ppt

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

작성자 : 기술지원부 김 삼 수

슬라이드 1

PowerPoint 프레젠테이션

vRealize Automation용 VMware Remote Console - VMware

슬라이드 1

SBR-100S User Manual

PA for SWE2007

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint Template

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

[Brochure] KOR_TunA

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

JDK이클립스

슬라이드 1

슬라이드 1

PowerPoint 프레젠테이션

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

ISP and CodeVisionAVR C Compiler.hwp

운영체제실습_명령어

서현수

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

( )부록

. PC PC 3 [ ] [ ], [ ] [ ] [ ] 3 [ ] [ ], 4 [ ] [ ], 4 [Internet Protocol Version 4 (TCP/IPv4)] 5 [ ] 6 [ IP (O)], [ DNS (B)] 7 [ ] 한국어 -

PowerPoint 프레젠테이션

IRISCard Anywhere 5

01장

Microsoft Word ARM_ver2_0a.docx

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

DBMS & SQL Server Installation Database Laboratory

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Microsoft PowerPoint Python-DB

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

gnu-lee-oop-kor-lec06-3-chap7

슬라이드 1

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

쉽게 풀어쓴 C 프로그래밊

The Pocket Guide to TCP/IP Sockets: C Version

*2008년1월호진짜

PowerPoint Presentation

ICAS CADWorx SPLM License 평가판설치가이드

컴퓨터관리2번째시간

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

쉽게 풀어쓴 C 프로그래밍

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

모바일 안드로이드 아키텍처

단계

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Chapter 1

파워포인트

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

PowerPoint Presentation

Adobe Flash 취약점 분석 (CVE )

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

Chap 5 루트파일시스템 (Root F/S)

슬라이드 1

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Mango-E-Toi Board Developer Manual

Microsoft PowerPoint - 김창수 v2.pptx

벤처연구사업(전동휠체어) 평가

Transcription:

12 장안드로이드개발지원환 경및분석

2 목차 안드로이드개발홖경 안드로이드개발지원도구 에뮬레이터에안드로이드용 busybox 설치 파일추출실습 안드로이드에 SD 카드를가상장치로연결하기

12.1 안드로이드개발환경 3 계층구조의안드로이드플랫폼을어떻게빌드할것인가? X86, 윈도우기반애플리케이션 -> ARM, 리눅스기반의타깃에적재 -> 마켓에배포 윈도우기반개발환경의구성및동작과정 이클립스 (IDE) 지원 QEMU 가상머신, ARM 과리눅스지원에뮬레이터 [ 그림 12-1] 윈도우기반개발환경

12.1 안드로이드개발환경 4 X86, 리눅스기반의안드로이드개발환경 안드로이드커널빌드에활용 하드웨어드라이버개발에활용 [ 그림 12-2] 리눅스기반의안드로이드개발환경

12.1 안드로이드개발환경 5 ARM 기반실행환경 실제모바일장치 실제타깃에커널, 플랫폼, 파일시스템적재방법 apk 파일만실행할수있는환경적재 자바, 리눅스빌드도구필요없음 [ 그림 12-3] ARM 기반실행환경

6 주개발도구 자바코드에디터, 컴파일러, 빌더 개발지원도구 디버거, 파일관리, 인증, 배포도구 aapt adb mksdcard ddms sqlite [ 그림 12-4] 개발지원도구

7 adb 에뮬레이터상태조회및관리 리눅스쉘명령어구동 파일복사및이동 Port forward 클라이언트 / 서버 (adbd) 로동작, TCP/IP 통신 서버는에뮬레이터에서백그라운드프로세스로동작 Adb 클라이언트로에뮬레이터와연결 adb [-d -e -s <serialnumber>] <command>

8 adb 실습 [ 실습 12-1] (1) 윈도우의명령창 command shell 을띄운다. (2) adb 프로그램이있는디렉토리 (D:\android\android-sdk\tools) 로이동한다. (3) adb 를실행한다. [ 그림 12-5] 에뮬레이터가동작하지않고있는경우오류메시지

9 adb 실습 [ 실습 12-1] (4) 이클립스에서 com.corea.android 패키지를실행시켜에뮬레이터를구동시킨다. 실행과정을 [ 그림 12-6] 처럼이클립스콘솔화면에서관찰할수있다. 안드로이드가런치 Launch 하면서, adb 데몬, Android 애플리케이션도런치되고, myavd 라는가상장치를기반으로에뮬레이터도동작한다. 에뮬레이터에 com.corea.android 애플리케이션이업로드되어동작한다. [ 그림 12-6] myavd 에뮬레이터에 Android 패키지동작과정

10 adb 실습 [ 실습 12-1] (5) 다시 adb 프로그램을실행시킨다. 에뮬레이터의 adbd 서버가동작됨으로 adb 로연결되어리눅스쉘명령어를사용할수있다. adb shell 를입력하면 [ 그림 12-7] 처럼쉘프롬프트 shell prompt 가 > 에서 # 로변경된다. DOS 모드에서 ubuntu 리눅스의쉘모드에들어간것이다. ls 같은리눅스쉘명령어를사용할수있다. 안드로이드는일반리눅스쉘명령어를최적 화한극히일부명령어만지원한다. [ 그림 12-7] 원격쉘접속

11 [ 실습 12-2] 호스트컴퓨터에현재연결되어동작중인에뮬레이터및단말기같은장치목록을검색하는실습 (1) 이클립스 Windows' 메뉴의 Android SDK and AVD Manager' 를선택한다. 그리고 Virtual Devices 를선택하여새로운가상장치를만들기위해 'New' 를선택한다. [ 그림 12-8] 처럼 API Level 3 의 'test' 라는가상장치를등록한다. [ 그림 12-8] test 라는가상장치를등록

12 [ 실습 12-2] 호스트컴퓨터에현재연결되어동작중인에뮬레이터및단말기같은장치목록을검색하는실습 (2) 생성한 'test' 라는가상장치에뮬레이터를 [ 그림 12-9] 처럼 emulator -avd test' 명령으로 1 개더시동시킨다. [ 그림 12-9] test 라는이름의가상장치를시동

13 [ 실습 12-2] 호스트컴퓨터에현재연결되어동작중인에뮬레이터및단말기같은장치목록을검색하는실습 (3) 두개의에뮬레이터가 [ 그림 12-10] 처럼호스트에서동작중인것을확인한다. [ 그림 12-10] 두개의에뮬레이터가동작

14 [ 실습 12-2] 호스트컴퓨터에현재연결되어동작중인에뮬레이터및단말기같은장치목록을검색하는실습 (4) 또다른명령창을열고, adb devices 을입력한다. [ 그림 12-11] 처럼두개의에뮬레이터가동작중인것을확인한다. [ 그림 12-11] adb devices 명령사용

15 [ 실습 12-3] 복수에뮬레이터고급활용하기 (1) adb -s emulator-5556 shell 을입력한다. [ 그림 12-12] 는 5556 번 test 에뮬레이터가상장치에쉘모드로연결한상태를보여준다. [ 그림 12-12] 쉘모드연결하기

16 [ 실습 12-3] 복수에뮬레이터고급활용하기 (2) 쉘모드에서 ls -l 명령어를입력한다. adb 를통하여쉘명령어를사용해보면안드로이드가리눅스기반이란것을이해할수있다. 쉘명령어 "ls -l" 을사용하여루트 root 디렉토리구조를살펴보고 [ 그림 12-13] 처럼리눅스파일시스템을관찰을실습한다. [ 그림 12-13] 리눅스파일시스템관찰

17 [ 실습 12-3] 복수에뮬레이터고급활용하기 (3) 5554 번에뮬레이터명령창을띄운다. (4) 쉘모드에서 ifconfig eth0 를입력한다. 쉘모드에서 5554 번에뮬레이터의 IP 번호설정상태를확인하기위하여명령창에서네트워크해석도구인 netstat -anob 입력한다. IP 주소가 10.0.2.15 로 [ 그림 12-14] 처럼 확인된다. [ 그림 12-14] 에뮬레이터 IP 주소확인

18 [ 실습 12-3] 복수에뮬레이터고급활용하기 (5) 쉘모드에서 netstat -anob 를입력한다. 5554 번에뮬레이터에서동작중인 TCP 통신프로토콜연결상태를확인하는명령어이다. 모든 adb 클라이언트는서버와의통신에 TCP 5037 포트를바인딩하여사용하며, [ 그림 12-15] 처럼에뮬레이터서버 5555 번포트로 adb 와 TCP 연결이설정이이루어진것을확인할수있다. [ 그림 12-15] TCP 연결상태

19 [ 실습 12-3] 복수에뮬레이터고급활용하기 (6) 호스트명령창에서 netstat -anob 를입력한다. 호스트관점에서는 2 개의에뮬레이터가동작하고있음으로, [ 그림 12-16] 처럼 2 개의에뮬레이터가동작중인상태를확인할수있다. adb 클라이언트와에뮬레이터의 IP 주소가동일하지만포트번호가다름을주목하라. [ 그림 12-16] netstat -anob 를사용한에뮬레이터연결상태확인

20 < 저자한마디 > adb 명령을사용한파일이동명령어 adb pull 는휴대단말기의파일이나에뮬레이터파일시스템파일을호스트 PC 로이동, 명령어 adb push 는호스트 PC 의파일을주변의휴대단말기또는에뮬레이터장치로이동. adb push <SDK 원본 > < 에뮬레이터경로 > adb pull < 에뮬레이터경로 > <SDK 경로 > [ 그림 12-17] adb 를사용한파일이동

21 에뮬레이터 가상의휴대폰장치 ARM, QEMU 가상머신에 안드로이드커널탑재 윈도우, 리눅스버전존재 Goldfish 실제타깃과차이 : 부동소수점처리 property:ro.kernel.qemu=1 [ 그림 12-18] QEMU 가상머신

22 [ 실습 12-4] 에뮬레이터에서 QEMU, /proc 확인하기 (1) adb shell 로쉘모드로간다. (2) cd proc 로 /proc 디렉토리로이동한다. (3) cat cmdline 명령을실행한다. cmdline 은커널이시작될때커널에젂달하는매개변수를갖는다. qemu=1 를젂달하고있다. [ 그림 12-19] QEMU 동작확인

23 [ 실습 12-4] 에뮬레이터에서 QEMU, /proc 확인하기 (4) cd /proc/1 명령을실행한다. 주메모리에생성되는 /proc 디렉토리에는현재동작중인프로세스와커널의실행상태를기록하고있다. /proc/1 는부팅시가장먼저시작하는프로세스번호이다. cmdline 을사용하여 /proc/1 번프로세스에대한커널로의입력변수를확인해보니 init 인것으로확인된다. [ 그림 12-20] 프로세스 1 번 /proc 확인

24 sqlite 관계형데이터베이스 SQL 표준명령어사용 MySQL 보다최소 2 배이상빠르다. 기존임베디드는 JFFS 같은파일시스템에데이터저장 안드로이드는 sqlite 사용하여빠른검색특징 개별애플리케이션마다 /data/data/< 패키지이름 >/databases/ 생성 에뮬레이터내의데이터베이스접속가능 $ adb -s emulator-5554 shell # sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db CREATE TABLE < 테이블이름 > (Column 정의, [ 테이블제약 ]); CREATE TABLE contact_list (id INTEGER, name TEXT, tel TEXT);

25 [ 실습 12-5] Sqlite 사용법및데이터베이스읽기 (1) 데이터베이스관리실습을위하여에뮬레이터 5554 번 1 개만을남겨둔다. adb shell 쉘모드로이동한다. (2) cd /data/data/com.android.browser/databases 디렉토리로이동한다. (3) ls 명령으로 webview.db 존재를확인한다. (4) sqlite3 명령으로 webview.db 파일을열어본다. [ 그림 12-21] sqlite3 사용법

26 [ 실습 12-5] Sqlite 사용법및데이터베이스읽기 (5) /data/system/ 디렉토리에있는 syncmanager.db 데이터베이스내용을살펴본다. sqlite 를사용하여 [ 그림 12-22] 처럼데이터베이스에접속을하고,.tables 명령을입력하면 active, history, settings, status 등의테이블이나온다. (6) select * from history 명령을입력한다. history 테이블의내용을본다. [ 그림 12-22] 데이터베이스내용보기

27 기타도구 Dx Dexdump Ant Valgrind AIDL

12.3 안드로이드용 busybox 설치 28 리눅스 1,000 여개의시스템관리를위한명령어 : toolbox 제공 안드로이드 toolbox 는단지 50 여개의리눅스명령어만제공 [ 그림 12-23] toolbox 에들어있는명령어들

12.3 안드로이드용 busybox 설치 29 단점 : cp, tar 같은명령어없어개발및디버그시불편 busybox 를통한해결

Busybox 소스다운로드하기

12.3 안드로이드용 busybox 설치 31 [ 실습 12-6] busybox 설치하기 (1) 명령창을연다. (2) d: 로하드디스크 D 로이동한다. (3) cd D:\android\android-sdk\tools 명령을실행한다. (4) adb push busybox /data 를입력한다. adb 를이용해 SDK 의 busybox 실행파일을에뮬레이터파일시스템 /data 아래로복사한다. (5) adb shell 명령어를입력한다. adb 를이용해 android 에뮬레이터의 shell(/system/bin/sh) 명령실행후쉘프롬프트 # 로젂홖한다. (6) cd data; ls -l 명령으로복사된 busybox 파일존재여부를확인한다. [ 그림 12-25] 처럼 busybox 가설치된것을확인한다. (7) chmod 777 busybox 명령을실행하여 busybox 명령을사용하기위해실행가능한권한으로설정한다. [ 그림 12-25] busybox 파일의에뮬레이터설치

12.4 파일추출실습 32 [ 실습 12-7] 파일압축및추출하기 (1) adb shell 쉘모드로이동한다. (2) /data/busybox tar cvf /data/system.tar /system 을입력한다. busybox 의 tar 명령을사용하여에뮬레이터의 /system 디렉토리를 /data/system.tar 파일로압축한다. [ 그림 12-26] 은에뮬레이터 /system 디렉토리의압축및복사하기를보여준다. [ 그림 12-27] 은에뮬레이터 /data 디렉토리에 system.tar 압축파일이복사된것을 ls -l 명령어로보여준다. [ 그림 12-26] 에뮬레이터 /system 디렉토리의압축및복사하기 [ 그림 12-27] system.tar 복사확인

12.4 파일추출실습 33 [ 실습 12-7] 파일압축및추출하기 (3) exit 명령어수행하여 shell 을빠져나온다. (4) 에뮬레이터 /data/ 디렉토리에있는 system.tar 압축파일을데스크탑컴퓨터의 SDK 로추출하는실습이다. adb pull /data/system.tar system.tar 명령을실행한다. [ 그림 12-28] 는 system.tar 가 SDK 의 /tools 디렉토리에복사된것을보여준다. [ 그림 12-28] SDK 디렉토리로파일추출결과

12.4 파일추출실습 34 cpio 사용 이미지압축파일관리도구 ramdisk, sdcard 이미지파일관리 [ 그림 12-29] 램디스크이미지내용확인

12.5 에뮬레이터에 SD 를가상장치로연결 35 SD는대용량메모리장치 플래시메모리 32MB 로동영상파일저장에한계 주변장치로활용 SD : Secure digital SD는골드피시장치에속하지않음 따라서에뮬레이터에 SD를추가하는방법필요

36 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (1) 명령창을띄운다. (2) D:\android\android-sdk\tools 디렉토리로이동한다. (3) mksdcard 256M sd.img 명령을실행한다. (4) dir 명령을실행하여 [ 그림 12-30] 처럼 256MB 의 sd.img 가생성된것을확인한다. [ 그림 12-30] sd.img 파일생성확인

37 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (5) sd.img 를 c:\temp 로복사한다. \tools 폴더에 sd.img 를넣고 SD 카드실습하면에뮬레이터에가상장치로연결이되지않고있다. 그래서다른폴더에옮겨놓는것이다. (6) emulator -avd myavd -sdcard c:\temp\sd.img 명령을실행하여에뮬레이터에 sd.img 이미지를가상장치로연결한다. [ 그림 12-31] AVD 지원에의한 sdcard 장치연결명령

38 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (7) 에뮬레이터에서 setting 메뉴 -> SD card & phone storage settings 를클릭한다. [ 그림 12-31] 실행결과자동으로에뮬레이터가구동되고 SD 카드가인식된것을 [ 그림 12-32] 1) 과 2) 처럼확인할수있다. 약 256MB 메모리용량이할당되어있다. 여기서 avd 이름은이클립스 Run Configurations' 메뉴에서 target 탭의 avd 이름설정에서사용한것과동일하여야한다. 에뮬레이터에는 myavd 라는 avd 가가상장치로서연결 되었고, 이제 sd.img 이미지가 SD 카드로서연결이되어사용가능하다. 1) 초기화면 2) SD 가상장치연결 [ 그림 12-32] SD 카드인식화면

39 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (8) SDK 에있는 busybox 파일을에뮬레이터 /sdcard 디렉토리에복사과정을실습한다. [ 그림 12-31] 의명령창이정지해있음으로또하나의명령창을열어서 SDK 에있는 busybox 파일을에뮬레이터 /sdcard 디렉토리에복사하는실습을한다. [ 그림 12-33] 에나타난것처럼 adb push busybox /sdcard 명령을실행한다. [ 그림 12-33] 또다른명령창열기및 busybox 추출하기

40 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (9) 에뮬레이터가상장치인 SD 카드에있는파일을 SDK 로복사하는과정이다. adb pull /data/app/com.corea.android.apk. 명령을실행한다. /data/app 디렉토리에있는 com.corea.android.apk 파일을데스크탑 SDK 의하드디스크로다운로드하는과정을 [ 그림 12-34] 에보여준다. [ 그림 12-34] com.corea.android.apk 파일추출결과

41 12.5 에뮬레이터에 SD 를가상장치로연결 [ 실습 12-8] SD 카드생성및파일추출하기 (10) 리눅스에서실제타겟을사용한실습과정이다. 본실습을위해하이버스의 xhyper320tku 보드를사용하여야하며구체적인것은연습문제를참고한다. 에뮬레이터의 SD 카드에들어있는 apk 파일을실행하기위해서는안드로이드애플리케이션소스에서변경이필요하다. 통상적인애플리케이션 apk 는개발시 /data/data/packagename/ 에생성및저장된다. /data/data/packagename/ 가아닌 SD 카드에저장된애플리케이션파일을실행하려면자바소스에서데이터에대한경로설정을변경해주어야한다. 예를들면, 비디오를재생하려면자바소스에서 SD 카드의데이터를사용할수있도록 Video 클래스의해당메소드를변경해주어야한다. 즉, Video.java 프로그램소스에서 Video.setVideoPath("/sdcard/MiniRobot.mp4") 를수정한다. 그러면애플리케이션에서비디오데이터를 /sdcard 에서읽게된다. 본실습에대한구체적인것은연습문제를참고한다.

끝! 42