2016년 8월 19일 금요일

안드로이드 자주 쓰이는 adb 명령어


안드로이드 자주 쓰이는 adb 명령어


adb devices (디바이스 검색) 
adb 서버와 연결된 폰의 디바이스와 에뮬레이터 목록을 보여줍니다. 연결된 devices의 TCP/IP 포트 번호를 알아 낼때도 사용합니다. 
adb shell (타겟 시스템의 쉘 명령) 
해당 시스템의 쉘에 연결하고 # 프롬프트를 띄어 해당 시스템을 탐색하고 수정할 수 있습니다. 
예) 여러 단말기중 하나를 선택해서 접속 adb -s emulator-5554 shell 
adb shell push Phone.apk /system/app (파일 복사) 
Phone.apk 파일을 해당 기기의 /system/apk 폴더에 Phone.apk 넣습니다. 
adb shell chmod 644 system/app/Phone.apk (파일 권한) 
해당 기기의 /system/apk 폴더에 있는 Phone.apk 파일 권한을 설정합니다. 
adb pull /system/app/Phone.apk (파일 추출) 
해당 기기의 /system/apk 폴더에 있는 Phone.apk 파일을 추출합니다. 
adb install [-l][-r] file_spec (app을 설치 또는 재설치 할 때 사용) 
-l : 다른 장치로 복사돼는것을 막습니다. -r : 이미 존재하는 app 데이터를 지우지 않은채 재설치 합니다. file_apec : 설치할 app의 .apk 파일입니다. 
adb uninstall [-k] package (패키지 이름을 가진 app를 제거) 
-k : app 의 데이터를 보존합니다. package : 패키지의 전체 경로, apk 확장자는 빼야합니다.
예) 패키지 삭제 adb unstall com.falinux.android.hello 
adb push local remote (local 파일을 remote 이름으로 복사) 
개발자 컴퓨터에 있는 local 이란 이름을 가진 파일을...
타겟 시스템 remote 란 이름으로 복사합니다. 
예) com.falinux.android.rose.apk 파일을 안드로이드 기기 /data/app 폴더 안으로 집어넣습니다. adb push c:\com.falinux.android.rose.apk /data/app/ 
adb pull remote local (remote 파일을 local 이름으로 복사) 
해당 시스템에 있는 remote 라는 파일을 개발자 컴퓨터에 local 이란 이름으로 복사합니다.
예) 안드로이드 기기 /data/app/com.falinux.android.rose.apk 파일을 C 드라이버로 가져옵니다. adb pull /data/app/com.falinux.android.rose.apk c:\com.falinux.android.rose.apk 
adb reboot (시스템 재부팅) 
안드로이드 시스템을 재부팅합니다. 
adb kill-server (adb 종료) ** -- 로그가 나오지 않을때 한번 실행해 볼 필요 있음
adb에 문제가 있을 경우, adb를 종료 시킵니다. 
adb start-server (adb 실행) 
종료된 adb를 실행 시킵니다.

예제 )
# adb devices
D:\>adb devices
List of devices attached

0123456789ABCDEF        device
f4fbc224        device

# adb install
D:\>adb -s 0123456789ABCDEF install 파일명.apk
(주의 apk 파일이 있는 경로에서 실행 또는 Full 경로 입력)


안드로이드 자주 쓰이는 adb 명령어


안드로이드 자주 쓰이는 adb 명령어


adb devices (디바이스 검색) 
adb 서버와 연결된 폰의 디바이스와 에뮬레이터 목록을 보여줍니다. 연결된 devices의 TCP/IP 포트 번호를 알아 낼때도 사용합니다. 
adb shell (타겟 시스템의 쉘 명령) 
해당 시스템의 쉘에 연결하고 # 프롬프트를 띄어 해당 시스템을 탐색하고 수정할 수 있습니다. 
예) 여러 단말기중 하나를 선택해서 접속 adb -s emulator-5554 shell 
adb shell push Phone.apk /system/app (파일 복사) 
Phone.apk 파일을 해당 기기의 /system/apk 폴더에 Phone.apk 넣습니다. 
adb shell chmod 644 system/app/Phone.apk (파일 권한) 
해당 기기의 /system/apk 폴더에 있는 Phone.apk 파일 권한을 설정합니다. 
adb pull /system/app/Phone.apk (파일 추출) 
해당 기기의 /system/apk 폴더에 있는 Phone.apk 파일을 추출합니다. 
adb install [-l][-r] file_spec (app을 설치 또는 재설치 할 때 사용) 
-l : 다른 장치로 복사돼는것을 막습니다. -r : 이미 존재하는 app 데이터를 지우지 않은채 재설치 합니다. file_apec : 설치할 app의 .apk 파일입니다. 
adb uninstall [-k] package (패키지 이름을 가진 app를 제거) 
-k : app 의 데이터를 보존합니다. package : 패키지의 전체 경로, apk 확장자는 빼야합니다.
예) 패키지 삭제 adb unstall com.falinux.android.hello 
adb push local remote (local 파일을 remote 이름으로 복사) 
개발자 컴퓨터에 있는 local 이란 이름을 가진 파일을...
타겟 시스템 remote 란 이름으로 복사합니다. 
예) com.falinux.android.rose.apk 파일을 안드로이드 기기 /data/app 폴더 안으로 집어넣습니다. adb push c:\com.falinux.android.rose.apk /data/app/ 
adb pull remote local (remote 파일을 local 이름으로 복사) 
해당 시스템에 있는 remote 라는 파일을 개발자 컴퓨터에 local 이란 이름으로 복사합니다.
예) 안드로이드 기기 /data/app/com.falinux.android.rose.apk 파일을 C 드라이버로 가져옵니다. adb pull /data/app/com.falinux.android.rose.apk c:\com.falinux.android.rose.apk 
adb reboot (시스템 재부팅) 
안드로이드 시스템을 재부팅합니다. 
adb kill-server (adb 종료) ** -- 로그가 나오지 않을때 한번 실행해 볼 필요 있음
adb에 문제가 있을 경우, adb를 종료 시킵니다. 
adb start-server (adb 실행) 
종료된 adb를 실행 시킵니다.

예제 )
# adb devices
D:\>adb devices
List of devices attached

0123456789ABCDEF        device
f4fbc224        device

# adb install
D:\>adb -s 0123456789ABCDEF install 파일명.apk
(주의 apk 파일이 있는 경로에서 실행 또는 Full 경로 입력)


2016년 1월 26일 화요일

[그누보드] 그누보드5 테마 - 구조, 상수, 파일용도, G5함수

그누보드5 테마 제작을 위해 먼저 알아두셔야 할 내용

1. 기본구조
테마에는 상당히 많은 파일이 포함되어 있습니다만 핵심 파일은 head.php, index.php, tail.php 파일입니다. 테마에 포함된 skin, mobile 폴더는 그누보드5 루트에 있는 해당 폴더와 역할이 동일합니다. 테마에 스킨을 포함시켜 배포하는 경우에 사용됩니다.


2. 테마 경로 상수
테마 작업을 위해 필요한 테마 경로 상수입니다. 기본으로 제공되는 상수는 아래와 같습니다.

G5_THEME_PATH : 사용 중인 테마 폴더의 절대 경로입니다. 사용 중인 테마가 basic 이라면 /home/example/www/theme/basic 입니다.

G5_THEME_URL : 사용 중인 테마의 웹접근 절대 경로입니다. 사용 중인 테마가 basic 이라면 http://example.com/theme/basic 의 경로를 가집니다. 실제로 사용자가 입력하는 경우는 없을 것이며 G5_THEME_JS_URL 등의 상수를 선언하기 위해 사용됩니다.

G5_THEME_MOBILE_PATH : 사용 중인 테마의 모바일 폴더 절대 경로입니다. /home/example/www/theme/basic/mobile 과 같습니다.

G5_THEME_LIB_PATH : 테마에 별도 라이브러리 파일을 포함시켜 사용하는 경우를 위한 경로 상수입니다. /home/example/www/theme/basic/lib 와 같습니다.

G5_THEME_CSS_URL : 현재 사용 중인 테마의 CSS 폴더 경로입니다. http://example.com/theme/basic/css 와 같습니다.

G5_THEME_IMG_URL : 현재 사용 중인 테마의 img 폴더 경로입니다. http://example.com/theme/basic/img 와 같습니다.

G5_THEME_JS_URL : 현재 사용 중인 테마의 js 폴더 경로입니다. http://example.com/theme/basic/js 와 같습니다. 

기본 제공되는 경로 상수는 위와 같으며 테마에 추가적으로 필요한 상수가 있다면 테마의 theme.config.php 파일에 선언해서 사용하시면 됩니다.

3. 파일용도
_common.php : 그누보드5 루트 common.php 파일을 include 합니다. 일반적으로 php 파일 등의 상단에 include_once('./_common.php'); 와 같이 입력해서 사용합니다.

group.php : bbs/group.php 파일과 동일합니다. 그룹 최신글을 노출할 때 사용합니다. 테마에 포함되어 있으면 bbs/group.php 대신 사용됩니다.

head.php : 테마의 헤더 부분을 담당하는 파일입니다. 필수 파일입니다.

head.sub.php : 그누보드5 루트의 head.sub.php 파일과 동일한 역할을 합니다. 테마에 이 파일이 포함되어 있으면 루트의 head.sub.php 파일 대신 사용됩니다. 테마에서 그누보드5 기본 css파일, jQuery 등을 사용하지 않고 별도의 파일을 사용하시려면 이 파일을 수정해 css 파일 등의 경로를 지정해주시면 됩니다. 이 파일은 필수는 아니지만 보통 css 파일의 경로를 테마로 지정해야 하고 그누보드5에서 사용되는 팝업에는 head.sub.php 파일을 include 하기 때문에 테마에 맞게 디자인을 변경하시려면 사용하셔야 합니다.

index.php : 사이트 초기화면 파일입니다. 필수 파일입니다.

readme.txt : 테마 이름, 버전, 라이선스 등의 정보를 담고 있는 파일입니다. 관리자 테마설정에서 상세보기 내용이 담겨있습니다.

screenshot.png : 테마의 스크린샷입니다. 관리자 테마설정 페이지에서 설치된 테마의 이미지로 사용됩니다. png 파일만 사용이 가능합니다.

tail.php : 테마의 푸터 부분을 담당하는 파일입니다. 필수 파일입니다.

tail.sub.php : head.sub.php 파일과 마찬가지로 필수 파일은 아닙니다. 푸터 부분에 테마만의 코드 넣는 등의 용도로 사용하실 수 있습니다.

theme.config.php : 테마의 기본 설정을 담고 있는 파일입니다. 테마의 지원기기 설정 등의 설정을 할 수 있습니다. 이 파일은 common.php 파일에서 자동 로드됩니다.


그외 css, img, mobile, skin 등의 폴더 역할은 그누보드5 루트에 있는 해당 폴더의 역할과 동일합니다.

4. G5 함수

G5_ADMIN_DIR     =   adm
G5_BBS_DIR        =   bbs
G5_DATA_DIR      =   data
G5_JS_DIR           =   js
G5_LIB_PATH       =   lib
G5_SMS5_DIR      =   sms5
G5_SMS5_ADMIN_DIR   =   sms_admin

G5_PATH             =   /home/www
G5_ADMIN_PATH   =   /home/www/adm
G5_BBS_PATH      =   /home/www/bbs
G5_DATA_PATH    =   /home/www/data
G5_JS_PATH        =   /home/www/js
G5_LIB_PATH       =   /home/www/lib
G5_PLUGIN_PATH =   /home/www/plugin
G5_SKIN_PATH     =   /home/www/skin
G5_SMS5_PATH   =   G5_PLUGIN_PATH.'/'.G5_SMS5_DIR
G5_SMS5_ADMIN_PATH   =   G5_ADMIN_PATH.'/'.G5_SMS5_ADMIN_DIR

G5_URL              =   http://도메인
G5_ADMIN_URL   =   http://도메인/adm    ex. http://www.happyjung.com/adm
G5_BBS_URL       =  http://도메인/bbs
G5_DATA_URL     =   http://도메인/data
G5_JS_URL         =   http://도메인/js
G5_LIB_URL        =   http://도메인/lib
G5_SKIN_URL      =   http://도메인/skin
G5_SMS5_URL    =   G5_PLUGIN_URL.'/'.G5_SMS5_DIR
G5_SMS5_ADMIN_URL   =   G5_ADMIN_URL.'/'.G5_SMS5_ADMIN_DIR

$board_skin_path     =   G5_SKIN_PATH.'/board/'.$board['bo_skin']  // ex. /home/www/skin/board/
$board_skin_url        =   G5_SKIN_URL .'/board/'.$board['bo_skin']     // ex. http://도메인/skin/board/
$member_skin_path   =   G5_SKIN_PATH.'/member/'.$config['cf_member_skin']  // ex. /home/www/skin/member/스킨
$member_skin_url     =   G5_SKIN_URL .'/member/'.$config['cf_member_skin']     // ex. http://도메인/skin/member/스킨
$new_skin_path       =   G5_SKIN_PATH.'/new/'.$config['cf_new_skin']  // ex. /home/www/skin/new/스킨
$new_skin_url         =   G5_SKIN_URL .'/new/'.$config['cf_new_skin']     // ex. http://도메인/skin/new/스킨
$search_skin_path   =   G5_SKIN_PATH.'/search/'.$config['cf_search_skin']  // ex. /home/www/skin/search/스킨
$search_skin_url      =   G5_SKIN_URL .'/search/'.$config['cf_search_skin']     // ex. http://도메인/skin/search/스킨
$connect_skin_path   =   G5_SKIN_PATH.'/connect/'.$config['cf_connect_skin']  // ex. /home/www/skin/connect/스킨
$connect_skin_url   =   G5_SKIN_URL .'/connect/'.$config['cf_connect_skin']     // ex. http://도메인/skin/connect/스킨
$faq_skin_path   =   G5_SKIN_PATH.'/faq/'.$config['cf_faq_skin']  // ex. /home/www/skin/faq/스킨
$faq_skin_url   =   G5_SKIN_URL.'/faq/'.$config['cf_faq_skin']     // ex. http://도메인/skin/faq/스킨
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기