레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Android인 게시물을 표시합니다. 모든 게시물 표시

termux setup storage

폰(안드로이드폰)에서 downloads 에 파일이 너무 많다.
폴더를 생성해서 정리를 하려는데 폰앱으로는 힘든 작업이다.

# termux 를 사용하면 다음과 같이 쉘 커맨드로 처리할 수 있다.
# 다음 명령을 실행하면 ~/storage 위치에 폰 스토리지가 마운트 된다.
# 참고로 이 명령은 termux 설치 후 1번만 수행하면 된다.
termux-setup-storage

# 이제 일반 다음과 같이 파일을 쉽게 이동할 수 있다.
cd ~/storage/downloads
mkdir -p temp
mv *.mp3 ./temp

android 업데이트후 NFC 인식 문제

최근 갤럭시폰(10 5G)을 Android 12 로 업데이트 후 잘 사용하던 아파트현관 NFC(RFID) 문 열림이 동작하지 않았다.
NFC 및 비접촉 결제(Contactless payments) -> 기타(others) 에서 신한Play Korail(교통카드 결제시 사용)를 사용안함으로 변경하면 문이 열린다.

참고로...
- 삼성카드나 티머니 교통카드가 아닌 신한Play Korail 같은 앱은 화면이 켜져있어야만 동작한다. 그래서 교통카드로 사용할땐 폰화면 켰고, 아파트 현관을 열때는 폰화면을 끄고 사용했었다.
- 신한Play Korail 앱을 삭제후 재설치해봤지만 위 화면에서 체크가되어 있으면 여전히 아파트현관 NFC(RFID) 문 열림이 동작하지 않는다.
- 신한Play Korail 잔액이 있는 상태에서 앱을 재설치하면 기존 잔액은 최대 7일 후 복원된다.

chrome android darkmode

chrome 74 android app 부터 dark mode 를 사용할 수 있다.
chrome://flags -> dark 로 검색
이제 다크가 대세~ㅎ






갤럭시폰에서 스샷 만들면 나중에 스샷 볼때 "웹사이트로 이동" 할 수 도 있다~
스샷 이미지를 공유하려고 하면 '이미지' , '웹 링크' 2개중 선택하라고 나온다.
아마 브라우저 스샷시 URL을 별도로 저장해놓는것 같다.


안드로이드폰 termux 사용

# 안드로이드폰으로 터미널 환경을 구성해 보자
# 준비
# 키보드(USB) 를 OTG 를 통해 폰에 연결한다.
# 안드폰에 termux 앱을 설치하자.
# termux는 aarch64(ARM 용으로 포팅한 64bit arch linux) 기반으로
# 패키지 관리자로 apt 또는 pkg(apt를 래핑)를 사용한다.
https://play.google.com/store/apps/details?id=com.termux&hl=en

# 참고로 키보드 사용시 단축키는 윈도우(리눅스)를 생각하면 된다.
alt + tab : 앱(전환)
alt + d : chrome 주소표시줄 포커싱
등등..

# termux 실행 후 필요한 패키지 설치
pkg update && pkg upgrade
pkg install -y zsh python2 python vim rust golang ripgrep curl git tig fzf tmux cmake ctags lua53 fortune cowsay figlet cmatrix golang ruby openssh libandroid-support man lsd dnsutils
pkg install -y vim-python
gem install lolcat

# 기본 zsh 로 변경
chsh -s zsh

# termux 스샷~


# /etc 에서 설정하는 파일들(krb5.conf, resolve.conf ... 등)은 ../usr/etc/ 에 위치한다.
# 만약 ../usr/etc/krb5.conf 설정 후 kinit 시 다음과 같은 에러가 발생한다면
kinit : Cannot contact any KDC for realm 'ysoftman.com' ...

# 각 서버의 디폴트 포트는 다음과 같고 포트까지 명시해보자
kdc = kauth.ysoftman.com:88
admin_server = kadmin.ysoftman.com:749
kpasswd_server = kadmin.ysoftman.com:464 # on UDP

# oh-my-zsh 를 사용하는 경우 powerline 폰트 하나
를 ~/.termux/font.ttf 파일로 생성해야 한다.
cp -v fonts/Hack/Hack-Regular.ttf ~/.termux/font.ttf

# known issue
- 아직 한국어를 지원하지 않고 오직 영어만 된다. 이슈를 줄이기 위해서라는데.. 흠. https://github.com/termux/termux-packages/issues/2796#issuecomment-424589888
- oh-my-zsh 는 동작하지만, prezto 는 zsh 시작시 모듈 로딩을 못하는 문제가 있다.
- vim plugin 중 youcomplteme 는 python 이 포함된 vim 을 사용해야 하는데
apt 로 설치되는 vim 은 python 으로 빌드된 것이 아니라 별도로 vim-python 도 설치해야 한다.

핸드폰 찾기

안드로이드폰 찾기

1. www.google.com 로그인 후 '핸드포 찾기' 하면 내 폰의 위치가 나온다.
로그인이 되어 있어야 한다.

2. 내기기 찾기 사이트로 접속한다.
https://www.google.com/android/devicemanager

google 내기기 찾기 앱 설치되어 있어야 한다.
https://play.google.com/store/apps/details?id=com.google.android.apps.adm&rdid=com.google.android.apps.adm

3. 삼성폰 계정이 있다면 다음 사이트에서 로그인해서 찾을 수 있다.
https://findmymobile.samsung.com/

구글 숨겨진 게임들

구글에 숨겨진 게임들이 많다.

1. 인터넷을 끊기 상태에서 크롬 페이지에 나타난 공룡화면에서 스페이스바 누르면, 공룡 달리면서 점프하는 게임 시작~
http://www.trex-game.skipser.com/ 에서도 플레이 가능하다.


2. text adventure 라고 검색후 ctrl+shift+i (맥은 cmd+opt+i) -> console -> Would you like to play a game? (yes/no) 라고 묻는다.
여기서 yes 입력 하면 텍스트로 명령을 내리는 게임을 시작할 수 있다.


3. 구글 에서 다음을 검색하면 여러게임이 나온다.
play solitaire
play pacman
play snake
play minesweeper
play tic tac toe




4. 기타 doodle 자료실에서 애니메이션 및 게임등을 플레이 할 수 있다.
https://www.google.com/doodles#archive

아이폰 데이터 안드로이폰으로 이동

아이폰의 데이터를 안드로이드를 옮길때
카톡이나 네이버등 대부분 앱들은 서버에 백업되어 크게 문제가 되지 않는다.

카톡 : 설정 -> 채팅 -> 대화 백업을 하고 새폰에서 복구
사진 : 구글 포토 또는 용량이 크면 PC usb 연결해서 복사

그런데 연락처, 문자(SMS) 등은 옮기기 까다롭다.
아이폰은 itune 으로 pc로 백업하고 (sql -> xml)변화 프로그램등을 이용해야 한다. 하지만 이것도 완전하지 않다고 한다.

[icloud 와 smart switch 사용하기]
https://www.samsungsvc.co.kr/online/faqView.do?domainId=NODE0000033866&node_Id=NODE0000124880&faqId=KNOW0000035583

문자 백업을 위해 imessage 는 비활성화해야 한다.
아이폰에서 icloud 로 백업한다. 기본 5GB 용량이 작으니 사진은 제외한다.

삼성폰이라면 smart switch 앱으로 icloud 로그인해 데이터를 가져온다.

데이터 받기 -> 무선 연결 -> iphone/ipad 선택 -> icloud 로그인 (아이폰 apple id 확인코드 입력) -> 항목 선택 후 가져오기

메시지의 경우 아이폰과 갤럭시폰을 케이블로 연결해야 된다.
아이폰 갤럭시 모두 usb c 타입이 아니라면 기기에 맞는 otg 커넥터가 필요하다.
USB 5핀 커넥터 : 갤럭시S6/S7
USB C타입 커넥터 : 갤럭시S8/S9/노트8/노트9

안드로이드폰 파일 이동 오류 원인

안드로이드폰(갤럭시s6)의 사진등의 파일을 pc 백업하려고
파일 이동(ctrl+x, ctrl+v) 또는 복사(ctrl+c, ctrl+v)하면

"시스템에 장착된 장치가 동작하지 않습니다."

에러가 발생하면서 폰 연결이 끊어진다.
우선 데이터 연결이 기능이 없는 단순 충천 usb 케이블은 연결 자체가 안된다.

usb3 슬롯으로 변경하니 잘 동작한다.
https://en.wikipedia.org/wiki/USB_3.0 -> power and charging 참고하면
usb2.0 500mA 전류를 공급하는데 usb3.0 900mA 전류를 공급한다.

예전에는 usb2 슬롯으로 잘 전송되었던것 같은데,
아마 오랜 폰사용으로 폰 배터리의 기능이 많이 떨어진 상태에서
(배터리 완충에서 케이블을 빼면 70%로 금방내려간다.ㅠ)
전력공급이 불안정해 상대적으로 높은 전력이 필요해서인것 같다.

google 메시지 앱

제조사에서 제공하는 기본 메시지 앱을 사용하다
google android messages app 으로 변경했다
https://play.google.com/store/apps/details?id=com.google.android.apps.messaging

제조사의 기본 메시지앱에 비해
- 다크UI 제공
- 데스크탑 웹브라우저에 QR코드로 싱크해서 메시지 조회, 보내기등을 모두 할 수 있다.

역시 제조사의 기본 앱들보다 안드로이드에선 google 앱을 사용하는편이 좋은것 같다.

삼성 갤럭시 S6 wifi 자동 연결 안되는 문제

언제부터인가 사용중인 폰(삼성 갤럭시 S6)에서 wifi 가 자동 연결되지 않는다.
자동으로 연결된다는 것은 wifi 를 켜면 바로 wifi 연결되는 것인데, wifi 를 켜도 깜깜무소식이다.
연결을 위해선 wifi  리스트 화면으로 이동해야 한다.(수동연결)
원인은 wifi passpoint 를 활성화 시키지 않아서다.
wifi 설정 -> 패스포인트 -> 사용을 해주니 wifi 켜면 바로 연결이 되더라~

참고로
wifi passpoint (http://www.wi-fi.org/discover-wi-fi/wi-fi-certified-passpoint)
패스포인트는 3g/lte 등의 대신 wifi 에 우선 접속시키는 기술을 말한다.

Android 네트워크 연결 상태 확인

LogCat 을 통해 디바이스의 네트워크 연결 상태를 파악할때 사용하는 필터링 키워드

"CONNECTIVITY_ACTION" 로 wifi 연결을 끊고 LTE 로 연결된 로그의 경우

handleBroadCastIntent(CONNECTIVITY_ACTION) Network Info from Intent of ConnectivityManager: [type: WIFI[] - WIFI, state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: <unknown ssid>, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false]

handleBroadCastIntent(CONNECTIVITY_ACTION) Network Info from ConnectivityManager: [type: MOBILE[LTE] - MOBILE, state: CONNECTED/CONNECTED, reason: connected, extra: lte.ktfwing.com, roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false]

Android 5.0 (롤립팝) 개발자 옵션 나타내기

안드로이드 5.0(롤리팝)에서는 개발자 옵션 메뉴가 기본적으로 숨겨져 있다.

[개발자 옵션 나타내기]
설정 -> 디바이스 정보 -> 빌드번호 항목 5번이상 연속 터치
를 하면 "개발자 옵션" 메뉴가 나타난다.

이제 개발자 옵션 -> USB 디버깅 on 으로 디버깅 시작~

갤럭시 NFC 오작동

최근 구입한 현아 갤럭시 폰에 케이스를 씌우고 난 후 부터 가끔 알람 소리가 발생했다. 케이스는 덮개 형식으로 덮개 중앙에 자석 단추가 달려 있었는데, 덮개를 뒤쪽으로 접으면 핸드폰 뒷면과 맞닿을 때마다 자석 부분을 NFC 로 인식해 소리가 나는 것이였다.

[해결방법]
갤럭시 폰들은 기본적으로 NFC 기능을 제공하여 처음 구입하면 NFC 가 활성화되어 있다. NFC 기능을 비활성화하니 덮개 자석부분이 핸드폰 뒷면과 맞닿아서 소리가 나지 않았다.

갤럭시 센스(SM-J500N00) 액정 수리 과정

구입(번호이동)한지 한달도 되지 않은 현아 핸드폰 갤럭시 센스(SM-J500N00)가 액정이 판손되어 수리하게 되었다.

액정 파손 수리 과정
1. 우선 삼성서비스 1588-3366 로 전화해 모델명과 근처 수리 가능한 곳을 문의
2. 집근처 내방역과 방배역 사이 삼성디지터플라자 건물 3층에 삼성 서비스센터 안내
- 갤럭시 센스 모델이 최근에 출시된거라 액정 부품이 아직 해당 서비스센터에 준비가 되어 있지 않아 준비되면 연락 주기로 함
- 금요일에 해당 서비스센터에 액정 부품이 도착했다고 문자를 받음
- 영업시간 확인(월~토 09:00 ~18:00)
3. 토요일 오전에 서비스 센터 방문
- 저가형으로 나온 폰이라 그런지 액정 교체 비용은 75,000원이고 파손액정을 반납하면 34,000원으로 가능, 액정반납 후 34,000원으로 카드결제
- 액정 파손 보험처리를 위해 견적서 및 영수증 받기
4. 건물 1층 삼성디지털플라자에서 액정필름 무상 부착
- 갤럭시 핸드폰 가져오면 평생 무상으로 부착해준다고함
5. 올레 파손 보험 문의 1577-9420
- fax 로 신청하는 경우
 : 신청서를 fax 로 전달받아 적성후 다시 fax로 보험 신청
- 온라인(웹)으로 신청하는 경우
 : https://www.ollehphoneins.com:3001/
 : 핸드폰,이름 작성후 sms 인증 로그인
 : 사고접수 및 보상안내 -> 온라인 사고 접수  및 온라인 서류제출
- 자기부담금 3만원 제외하고 14,000 원만 보상 가능

참고로 액정 파손시 보상 범위 안내

액정 금액이 적다면 굳이 핸드폰 파손 보험을 들어야 하는 생각이 들었다. 한달에 3천원 정도 2년이면 72,000 원인데 이렇게 14,000원씩 2회까지 가능하면 훨씬 손해이기 때문이다. 아니면 액정을 반납하지 않고 75,000원 수비를 내고 45,000 원을 보상받고 액정을 판매하던가. 그런데 갤럭시 센스도 팔 수 있는지는 모르겠네?
암튼 보험을 들어도 핸드폰 파손되면 결국 자기 부담금으로 손해이니 조심해야겠다.

2015-06-19 갤럭시 s6 폰으로 변경 및 스크린 캡쳐 방법

2년 약정 노예 계약 만료에 따라 삼성 갤럭시 s6 로 폰을 변경~ㅎ
전에 사용하던 엘지 옵지 프로는 액정 깨진 채로 1년 반이상을 사용해왔다.(ㅠㅠ)
어느정도 셋팅 후 기념 샷~ㅋ


갤럭시 s6 스펙이 장점인데, 8코어 요녀석들 아주 빠르다.
카메라나 액정 해상도도 아이폰 6 보다 좋다.
앞으로 꽤 쓸만해질 것으로 예상된다.




참고로 갤럭시 s6 로 스크린 캡쳐에 많이 사용하는 방법은 2가지다.
1. 손날치기로 손의 옆면을 스크린 왼쪽 -> 오른쪽, 혹은 그 반대로 움직이기
2. 홈버튼 + 전원버튼

Eclipse "add native support" 설정 제거

안드로이드 프로젝트에서 NDK 를 사용하는 경우 이클립스에서 NDK 빌드를 자동으로 하기 위해 다음과 같이 설정할 수 있다.
프로젝트 팝업 메뉴 ->Android Tools -> Add Native Support... 에서 NDK 환경을 설정한다.

그런데 NDK 가 필요 없을 경우 NDK 빌드 환경을 삭제하고 싶을 때가 있지만 삭제 메뉴가 따로 없어 에러가 발생하게 된다.
이런 경우 다음과 같이 해결하도록 한다.

1. 프로젝트 delete (디스크에서 삭제는 하지 않아야 됨)
2. .cproject 파일 삭제
3. 프로젝트를  다시 import

Android "R cannot be resolved to a variable" 에러 발생시

이클립스에서 안드로이드 빌드시 "R cannot be resolved to a variable" 에러가 발생하는 경우

다음의 방법으로 해결해 보자..



- Project -> Clean 을 해본다.

- 그래도 안되면 R.java 파일을 제거해본다.

- 그래도 안되면 프로젝트 -> Properties -> Android -> Project Build Target 에서 안드로이드 대상 버전이 높은 것을 사용한다.

- 그래도 안되면 Android SDK plugin 를 다시 설치해 본다.


Android NDK 환경 설정하기

NDK(Native Development Kit) 는 Android 환경에서 JNI 기술을 사용할 수 있게 한다.
기본적인 원리와 사용방법은 JNI 와 같고 추가로 Native 코드가 Android 환경에서 빌드되어야 한다.

윈도우에서 NDK 사용하기
1. NDK 다운로드
http://developer.android.com/tools/sdk/ndk/index.html

2. NDK 파일을 압축 풀기 (예 C:\android-ndk-r9)

3. ndk-build 가 있는 경로 환경변수에 등록
Path=%Path%;C:\android-ndk-r9
NDK_PROJECT_PATH=.

4. javah 로 .h 생성하기
안드로이드 프로젝트(예 com.Android_ServerMon.JNIManager)
JNIManager 클래스를 만들고 (package com.Android_ServerMon; 명시)
안드로이드 루트(예 D:\ysoftmanCode\Android_ServerMon) 위치에서
classpath 를 명시하여 다음과 같이 생성해야 된다.
javah -classpath .\bin\classes -jni com.Android_ServerMon.JNIManager
를 하면 com_Android_ServerMon_JNIManager.h 가 생성된다.

5. D:\ysoftmanCode\Android_ServerMon에서 jni 디렉토리 생성

6. D:\ysoftmanCode\Android_ServerMon\jni\에서 .h 에 대한 .cpp 구현(자세한 내용은 JNI 포스트 참고)

7. D:\ysoftmanCode\Android_ServerMon\jni\Android.mk (대소문자구분)작성
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := JNIImpl
LOCAL_SRC_FILES := JNIImpl.cpp
include $(BUILD_SHARED_LIBRARY)

8. D:\ysoftmanCode\Android_NDKTest\jni\Application.mk (대소문자구분)작성
APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-8

9. D:\ysoftmanCode\Android_NDKTest\ 에서 ndk-build 로 빌드
libs 에 Application 에서 지정한 APP_ABI 값의 디렉토리가 생기고
그 안에 빌드된 Native .so 파일이 생성된다.

10. java 소스에서 .so 로드하여 사용(자세한 내용은 JNI 포스트 참고)


참고로 안드로이드를 빌드하게 되면 .apk 내의 lib\플랫폼\.so 가 포함된다.



Android 젤리빈에서 flash player 설치하기

flash 가 비표준이고 무거워서인지 최신 안드로이드(젤리빈) 부터는 flash player 를 찾아 보기 힘들다.

마켓에서도 검색이 안되서 앱이 없는 것 처럼 보이지만

adobe 웹 사이트에 가면 안드로이드용 flash 앱을 다운 받아 설치 할 수있다.



ICS 버전 이후로 나오지 않아 ICS 용 flash player 를 다운 받도록 한다.

http://download.macromedia.com/pub/flashplayer/installers/archive/android/11.1.115.69/install_flash_player_ics.apk



참고

다음과 같이 설정해야 apk 설치 할 수 있다.

시스템 설정 -> 보안 -> 알 수 없는 소스 -> 허용함



크롬 브라우저에서 동작하지 않을 경우 안드로이드 기본(인터넷)브라우저를 사용한다.


Android TextView 에서 자동 스크롤하기

TextView 에서 자동스크롤 방법을 인터넷에서 찾으면 ScrollView 안에 TextView 을 넣어서 사용하는 방법이 많이 검색된다.
하지만 다음과 같이 TextView 의 속성을 변경하면 스크롤 기능을 추가할 수 있다.

TextView tv = (TextView)findViewById(R.id.textView1);
tv.setMaxLines(100);
tv.setVerticalScrollBarEnabled(true);
tv.setMovementMethod(new ScrollingMovementMethod());

그리고 다음의 방법으로 마지막으로 추가된 메시지까지 자동 스크롤이 가능하다.

tv.append("test message...\n");
int scrollamout = tv.getLayout().getLineTop(tv.getLineCount()) - tv.getHeight();
if (scrollamout > tv.getHeight())
{
   tv.scrollTo(0, scrollamout);
}