2017년 5월 26일 금요일

adb 명령어 정리

PC 에 연결된 Device 목록 확인
$ adb devices

logcat 캐시 지우기
$ adb logcat -c

logcat 시간 정보 포함하여 출력
$ adb logcat -v threadtime

APK 설치
$ adb install <file_path>

앱 제거
$ adb unintsall <package_name>

broacast
$ adb shell am broadcast -a ${action_name} -e ${extra_key} ${extra_string_value}

  • 가능한 옵션들

    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--esn <EXTRA_KEY> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
    [--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
    [--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
    [--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
    [--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as Integer[])
    [--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
        (mutiple extras passed as List<Integer>)
    [--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as Long[])
    [--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
        (mutiple extras passed as List<Long>)
    [--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as Float[])
    [--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
        (mutiple extras passed as List<Float>)
    [--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as String[]; to embed a comma into a string,
         escape it using "\,")
    [--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
        (mutiple extras passed as List<String>; to embed a comma into a string,
         escape it using "\,")
    [--grant-read-uri-permission] [--grant-write-uri-permission]
    [--grant-persistable-uri-permission] [--grant-prefix-uri-permission]
    [--debug-log-resolution] [--exclude-stopped-packages]
    [--include-stopped-packages]
    [--activity-brought-to-front] [--activity-clear-top]
    [--activity-clear-when-task-reset] [--activity-exclude-from-recents]
    [--activity-launched-from-history] [--activity-multiple-task]
    [--activity-no-animation] [--activity-no-history]
    [--activity-no-user-action] [--activity-previous-is-top]
    [--activity-reorder-to-front] [--activity-reset-task-if-needed]
    [--activity-single-top] [--activity-clear-task]
    [--activity-task-on-home]
    [--receiver-registered-only] [--receiver-replace-pending]
    [--selector]
    [<URI> | <PACKAGE> | <COMPONENT>]

2015년 7월 10일 금요일

[NDK] ndk-build 빌드 명령 출력

ndk-build 시 기본으로 화면에 출력하는 정보가 적습니다.

빌드 에러가 발생하는 경우 어떤 명령으로 빌드를 수행하였는지 중요합니다.

참고: https://groups.google.com/forum/#!topic/android-ndk/5OHkW6Hf2JA

$ ndk-build V=1 옵션으로 빌드 명령을 화면에 출력할 수 있습니다.

2015년 1월 29일 목요일

Eclipse -> Android Studio

참고

Android Studio 로 변환 과정

Android Studio 가 Android 공식 개발 도구로 지정되었습니다.
Android Studio 사용법을 익혀야 겠습니다.

소개

  • 간단하게 이야기 하자면 Android Studio 에서 eclipse project 를 불러오면 자동으로 변환이 됨
  • 예제 프로젝트를 생성하여 설명

1. sample 용 Eclipse 안드로이드 project 생성

  • hello : Android application project
  • appcompat_v7 : hello 생성하면서 자동으로 import 된 appcomat v7 library project
  • libproject :임의로 생성한 library project (hello 가 의존)



2. Android Studio 실행


3. Import Non-Android Studio project 를 선택하여 eclipse 프로젝트를 변환


Import Non-Android Studio projct 선택

eclipse 에서 생성한 hello 프로젝트를 선택
변경될 프로젝트가 저장될 위치 선택

변환 옵션 (기본으로 두고 finish 했음)


변환

변환 완료시 Language Level Changed 다이얼로그가 뜨기도 함 (Yes 선택)


4. 변환 완료

  • import-summary.txt : 변환과정 중 일어난 일들을 표시함
    • Ignored Files 항목을 보면 옮겨지지 않은 파일들이 표시됨 (필요시 직접 이동) 
  • 프로젝트 구조
    • hello(hello-hello 로 표시) : eclipse 의 hello project 에 해당하는 모듈
    • libproject : eclipse 의 libprojct project 에 해당하는 모듈


5.Android Studio프로젝트 구조 (맛보기)


구조
  • Eclipse 에는 workspace 라는 개념이 있고 그 아래 여러 프로젝트들이 존재
  • Android Studio 에는 프로젝트 아래 여러 모듈들이 존재
gradle 파일
  • settings.gradle
    • 관련 모듈 목록을 설정
    • 프로젝트에 하나 존재
  • build.gradle 파일
    • build 관련 설정 (의존성등을 설정)
    • 프로젝트에 하나, 모듈마다 하나씩 갖고 있음
왼쪽 상단에 Project 보기를 선택


변환된 폴더 구조를 확인 가능

6. 앱 실행 해보기


실행 버튼


기기가 없다면.. 에뮬레이터 선택

앱이 실행됨

하단에 logcat 창 표시됨

결론

이 외 아직 제대로 사용해 보진 않았지만 메뉴들을 잠깐씩 훑어보니 어렵지는 않겠습니다.
물론 겪어봐야 알 일이겠지요

2014년 9월 12일 금요일

14-day Notification: Violation of the Android branding guidelines


앱 이름에 Android 라는 단어를 잘못 사용하여서 경고 메일이 날라왔습니다.

메일 내용 전문:

We are writing to inform you that the title name of your application, Android Tool, with package ID com.tj.androidtool, is not in accordance with our Android branding guidelines and may additionally be in violation of our Google Play impersonation policies.
REASON FOR WARNING: Violation of the Android branding guidelines.
To demonstrate and achieve compliance, please perform one of the following actions within 14 days of this notice, or your app will be suspended on Google Play:
  • Edit the title of your app by removing "Android" as the prominent brand name. Instead, use "(title of app) for Android" as an alternative. Here's an example:
    • Incorrect: "Android MediaPlayer"
    • Correct: "MediaPlayer for Android"
  • Or, unpublish the listing from further availability on Google Play.
Before publishing applications, please ensure your apps' compliance with the Developer Distribution Agreement and Content Policy.
Thank for your understanding,
Google Play Developer Support


이에 앱 이름을 Tools for Android 로 변경하였습니다.
https://play.google.com/store/apps/details?id=com.tj.androidtool

2014년 5월 20일 화요일

App 소개 : UPnP Tool

UPnP 관련 업무를 시작하면서 UPnP 안드로이드 툴을 제작하게 되었습니다.

https://play.google.com/store/apps/details?id=com.tjjang.upnptool




UPnP 디바이스를 검색하고 디바이스 목록과 서비스들을 나열해 주고 action invoke 기능을 제공합니다.

감사합니다.

2014년 4월 13일 일요일

ADT 업데이트 시 문제

어느날 ADT 업데이트 하라는 다이얼로그가 떴지만 update check 시 업데이트할 내용이 없다고 나왔다.

참고: http://stackoverflow.com/a/15003786

Help -> Install New Software... 에서 Available Software Sites 를 누르고 ADT 업데이트 주소를 https 로 변경하고 해결 되었다.

2014-07-07 업데이트
그마저 안되는 겨우 ADT 를 새로 다운로드 받음

adt-bundle-windows-x86_64-20140624 버전 사용
  • 압축 해제 실패 문제
  • adt-bundle-windows-x86_64-20140624 버전을 다운로드 받고 eclipse 를 실행했는데 Window 메뉴에 Android SDK Manager 등이 보이지 않음
    • Window -> Open perspective -> Java 를 선택하고 해결됨

안드로이드 ADT r23 에 총체적으로 문제가 많음



ADT 를 사용하지 않고 eclipse 를 다운로드 받고 ADT 와 Android SDK 를 설치 (고전 방법)
  1. eclipse standard indigo 버전 다운로드
  2. Help -> Install New Software... -> Add... -> http://developer.android.com/sdk/installing/installing-adt.html 에서 확인한 ADT plugin URL 을 입력
  3. http://developer.android.com/sdk/index.html 로 접속해서 VIEW ALL DOWNLOADS AND SIZES 를 눌러 zip 파일 형태의 sdk 를 다운로드 가능