Android 개발환경 구성 (ver 2018-03-21)

프로그래밍/Android (Java)|2018. 3. 21. 17:03
반응형
1. Android 개발 환경 구축

작업PC에 Android 개발 환경을 구축해야 합니다.


1) Java SE 설치

위 URL에서 JDK 10 버전이 나왔으므로 다운받아 설치합니다.

* 명령프롬프트에서 java 명령어가 실행된다고 해도 아래 '시스템변수'를 반드시 설정해주어야 합니다.

설치후 '컴퓨터' 아이콘 우클릭 > 속성 > 고급의 '시스템변수' 에 추가
변수명 : JAVA_HOME / 값 : C:\Program Files\Java\jdk-10
변수명 : JRE_HOME / 값 : C:\Program Files\Java\jre-10
변수명 : Path (추가 ) / 값 : ;C:\Program Files\Java\jdk-10\bin    // 앞에 세미콜론으로 구분하는것 주의

설정 저장 후 리부팅 해주면 적용 됩니다.


2) Android SDK 설치

아래 URL에서 'Android Studio' 를 다운로드 받아 설치합니다.

https://developer.android.com/studio/index.html?hl=ko

'명령줄 도구만 다운로드' 는 받을 필요가 없습니다.

설치 후 실행하면 초기 화면에서 'SDK Manager' 를 구동할 수 있는 화면이 나옵니다.
선택하지 못하고 기본값으로 구동 후 Android Studio 작업 화면으로 들어왔다면
우측 상단에 '안드로이드 다운로드' 표시의 'SDK Manager' 아이콘을 눌러 실행시킬 수 있습니다.

< 설치해야할 패키지 >
[SDK Platforms] 탭에서 원하는 버전의 API Level 을 선택합니다. (다중 선택 가능)

* 참고로 제가 자주 쓰는 버전이 'Android 5.1 (Lollipop) / API Level 22' 입니다.

[SDK Tools] 탭에서 아래 요소 선택합니다.
- Android SDK Build-Tools 28-rc1    // 가장 최신 버전 하나만 설치하면 됩니다.
- Android SDK Platform-Tools
- Android SDK Tools
그외 선택되어진것은 그냥 두고 [OK] 를 눌러 설치를 진행합니다.
설치 과정 중 동의를 얻는 부분이 있으니 체크하고 넘어갑니다.
설치가 다 되었으면 Android Studio 창을 닫습니다.





3. Tomcat, ANT 설치 (서버 구축 - JSP)


위 URL에서 다운받아 설치 (생략)
* 둘다 다운받아 압축풀고 적당한 디렉토리에 넣은후에 각 프로그램의 bin 디렉토리를 PATH 설정만 해주면 됩니다.

그리고 작업PC에서도 ant 를 설치 합니다.

압축을 풀고 적당한 디렉토리로 옮기고 아래처럼 윈도우 환경변수를 추가해줍니다.

변수명 : ANT_HOME / 값 : C:\apache-ant-1.9.4
변수명 : TOMCAT_HOME / 값 : C:\apache-tomcat-7.0.55\bin    // 작업PC에서 파일 한개 생성후 서버로 복사할 작업이 있는데
                                                                                                                            그 서버가 리눅스 서버이면 작업PC에 tomcat 설치 안해도 됩니다.


4. Client APP (.apk) 생성

gcm-demo-client 샘플 파일을 이용해 apk 파일을 생성해봅니다.

아래 파일을 수정합니다.
C:\spring\android-sdks\extras\google\gcm\samples\gcm-demo-client\src\com\google\android\gcm\demo\app\CommonUtilities.java

static final String SERVER_URL = "http://neulwon.com/gcm-demo";    // 서버 주소 및 샘플 디렉토리 (포트사용시 도메인뒤에 :8080 와 같이 추가)
static final String SENDER_ID = "831858421523";    // Project ID

명령 프롬프트 창을 열어 아래와 같이 명령을 내립니다.

cd c:\spring\android-sdks\extras\google\gcm\samples\gcm-demo-client

c:\spring\android-sdks\tools\android.bat update project --name GCM -p . --target android-16

여기서 마지막줄에 'please use the --subprojects parameter.' 라는 메세지가 출력되면 위 project 뒤에 --subprojects 를 붙여 실행하면 됩니다.

c:\apache-ant-1.9.4\bin\ant clean debug

그러면 apk 파일이 하나 생기는데 이것을 스마트폰으로 옮겨 설치합니다.
c:\spring\android-sdks\extras\google\gcm\samples\gcm-demo-client\bin\GCM-debug.apk

실행을 하면 위 구축해놓은 서버로 스마트폰 단말기 장치 regId 값을 넘겨주고,
서버 웹페이지에서 1개 장치 등록된것이 확인됩니다.
나타나는 버튼을 통해 스마트폰으로 GCM을 전송해볼 수 있습니다.


반응형

댓글()

sed 명령으로 줄바꿈하기

프로그래밍/BASH SHELL|2018. 3. 16. 11:31
반응형

아래와 같이 bbb 다음 줄을 바꾸고 싶을때


명령 실행 전

aaabbbcccddd


명령 실행 후

aaabbb

cccddd


사용 명령어

# sed -i 's/bbb/bbb\n\n/g' test_file.txt



반응형

댓글()

Vim Vi 에서 ^M 지우기, 행끝의 캐럿 M 기호 제거 방법

리눅스/OS 일반|2018. 3. 15. 17:35
반응형

Vim 에서 Esc키를 한 번 눌러 명령어 모드로 나온 후, 다음의 정규식을 입력합니다. 복잡한 정규식은 아니고, 각행의 끝($)에 있는 ^M 기호를, 모두(g) 공백(//)으로 바꾸는(%s) 것입니다.

:%s/^M$//g


주의! 그런데 위의 정규식에서 빨간색으로 된 ^M 이라는 문자열을 직접 글자 그대로 타이핑하면 안됩니다. 반드시 키보드의 Ctrl+V 키와 Ctrl+M 키를 눌러서 간접적으로 입력해야 합니다. Ctrl키를 누른 상태에서 vm 이라는 2글자를 소문자로 연속으로 입력하면 됩니다.



[출처] http://mwultong.blogspot.com/2007/08/vim-vi-m-m.html

반응형

댓글()

IP 생성시 특정 대역으로 할당 받기

리눅스/OpenStack|2018. 3. 14. 11:53
반응형

ip 생성시 특정 대역으로 할당 받으려면..


# neutron subnet-list |grep provider2

| ceba2d73-d344-4bd3-8083-48963bce8738 | provider20        | 10.20.30.0/24 | {"start": "10.20.30.3", "end": "10.20.30.254"}  |


# neutron floatingip-create provider --subnet ceba2d73-d344-4bd3-8083-48963bce8738



* 참고


IP 할당 받은 목록 보기

# nova floating-ip-list


특정 IP 하나 지우기

# nova floating-ip-delete 10.20.30.10

반응형

댓글()

모든 VM 의 ceilometer 리소스 수집이 되지 않을경우

리눅스/OpenStack|2018. 3. 3. 16:28
반응형

체크 사항


1. was 서버로 통신 확인

ceilometer 서버에서 was 서버로 ping 체크를 한다.

ping was.sysdocu.com



2. 8777 포트 확인

컨트롤러 서버에서 netstat -nltp 명령으로 8777 포트를 확인한다.

없을 경우 service ceilometer-api restart



3. ceilometer 서버 (몽고디비) 용량 확인

ceilometer 서버에서 용량이 100% 사용중일때 문제 발생한다.

이것은 다른 포스팅을 참고하기 바람.

http://sysdocu.tistory.com/1225




반응형

댓글()

오래된 파일 삭제하기

리눅스/OS 일반|2018. 3. 2. 15:38
반응형

형식) find [디렉토리] -name [파일] -mtime [보관일] -delete


# find /usr/local/apache/htdocs/tmp/ -name '*.sh' -mtime +20 -delete



반응형

댓글()

패스워드 복잡성 설정

리눅스/Security|2018. 2. 27. 17:40
반응형

1. 패스워드 사용 기간 제한

$> vi /etc/login.defs

PASS_MAX_DAYS 90

PASS_MIN_DAYS 0

PASS_MIN_LEN   8

PASS_WARN_AGE  7


설정 이후에 생성한 계정에 한해 적용 됩니다.

아래는 수동으로 chage 명령어를 이용한 정책 변경하는 방법입니다.
chage 명령어에 ‘-m’, ‘-M’, ‘-W’옵션을 이용해서 정책을 변경 할 수 있습니다. 
– 정책 확인


# chage -l root
Last password change : Mar 24, 2016
Password expires : Apr 23, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 0


# chage -m 1 root
Last password change : Mar 24, 2016
Password expires : Apr 23, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 99999
Number of days of warning before password expires : 0


# chage -M 30 root
Last password change : Mar 24, 2016
Password expires : Apr 23, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 30
Number of days of warning before password expires : 0


# chage -W 7 root
Last password change : Mar 24, 2016
Password expires : Apr 23, 2016
Password inactive : never
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 30
Number of days of warning before password expires : 7


2. 기타 비밀번호 설정 (복잡성)

$>vi /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-1 dcredit=-1 ocredit=-1 lcredit=-1

 

(설명)

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-1 dcredit=-1 ocredit=-1 lcredit=-1

-->

retry=N : 패스워드 입력 실패 시 재시도횟수             

difok=N : 기존 패스워드와 비교. 기본값10 (50%)             

minlen=N :  크레디트를 더한 패스워드최소길이               

dcredit=N : 숫자에 주어지는 크레디트값. 기본 1             

udredit=N : 영어대문자에 주어지는 크레디트값               

lcredit=N : 영어 소문자에 주어지는 크레디트값              

ocredit=N : 숫자, 영어대/소문자를 제외한 기타문자

(각 항목에서 -1 값을 주면 반드시 해당하는 문자를 포함시켜야 함. 즉 dcredit=-1 이라면 패스워드에 숫자가 반드시 포함되어야 함.)



출처: http://oktopbang.tistory.com/entry/패스워드-복잡성-적용-방법 [옥탑방람보]

반응형

댓글()

올려져있는 이미지 다운로드 하기

리눅스/OpenStack|2018. 2. 22. 15:26
반응형

Listing images

When you've created a computerc file and loaded it up in your shell you can start the process. You need the UUID of the image you want to download. Get a list of all images using the glance image-list command:

$ glance image-list

Output:

+------------+---------------------+--------+-----------+------------+--------+
| ID         | Name                | Disk   | Container | Size       | Status |
+------------+---------------------+--------+-----------+------------+--------+
| 0a[...]5dd | example-test        | raw    | bare      | 4843700224 | active |
| 13[...]b30 | example-2           | qcow2  | bare      | 4762632192 | active |
| 22[...]eeb | FreeBSD-10.1        | qcow2  | bare      | 736981504  | active |
| d2[...]625 | pfSense 2.1.5       | iso    | bare      | 403243008  | active |
+------------+---------------------+--------+-----------+------------+--------+

The ID part is what you need. In this example it is trimmed.

Download Image

Use the glance image-download command to download the image. By default it will go to STDOUT, use the --file parameter to place the output in a file.

$ glance image-download --file ./example-test.img 0a[...]5dd

The command syntax is:

$ glance image-download --file $FILENAME $UUID

[출처] https://raymii.org/s/tutorials/Openstack_Glance_Image_Download.html

반응형

댓글()

모든 데몬을 재시작해도 네트워크 안될 경우

리눅스/OpenStack|2018. 2. 21. 22:40
반응형

로그를 검색해봅니다.



[관련 로그]


neutron-l3-agent.log 에서..

L3 agent failure to setup floating IPs

Failed to process floating IPs.


neutron-openvswitch-agent.log 에서..

Error while processing VIF ports



[해결책]


# ip net |grep fip

fip-f747709f-55c4-4129-89b3-d75a5840709c


나온 결과값을 복사해서


# ip net delete fip-f747709f-55c4-4129-89b3-d75a5840709c


그리고 관련데몬 모두 재시작하면 됩니다.

데몬 재시작을 하면 위 fip (floating ip) 는 자동으로 다시 올라옴..


# service neutron-l3-agent restart

# service neutron-openvswitch-agent restart

# service neutron-metadata-agent restart


그리고 ping 이 안되는 vm 은 좀 기다려보고 그래도 안된다면

'nova reboot {vm id값}' 으로 개별 처리하면 됩니다.



반응형

댓글()

[에러] Exception during message handling: Timed out during operation: cannot acquire state change lock

리눅스/OpenStack|2018. 2. 20. 10:44
반응형

[증상]

VM 을 rebuild 하는 중에 몇 시간이고 status 가 REBUILD 로 되어있었음



[에러 메세지]

Exception during message handling: Timed out during operation: cannot acquire state change lock

> 볼 수 있는곳 : nova show 또는 컴퓨트 노드의 nova-compute.log



[해결]

VM 이 존재하는 컴퓨트 노드에 로그인하여 VM 프로세스 종료 후 rebuild 를 수동으로 진행



반응형

댓글()

CentOS 에 NTP Server & Client 구축하기

리눅스/OS 일반|2018. 2. 19. 11:46
반응형

1. 설치 (공통)


Server 와 Client 에서 같이 설치해줍니다.


[root@sysdocu ~]# yum -y install ntp



2. Server 설정


[root@sysdocu ~]# vi /etc/ntp.conf


driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1 

restrict -6 ::1

restrict 192.168.20.0/24 mask 255.255.255.0 nomodify notrap    // 접근 허용할 IP 대역

server kr.pool.ntp.org

server asia.pool.ntp.org

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

server 127.127.1.0

fudge 127.127.1.0


데몬 재시작

[root@sysdocu ~]# service ntpd restart


서버 부팅시 활성화 설정

[root@sysdocu ~]# chkconfig ntpd on


방화벽을 등록합니다.

> UDP 123


시간 정보를 잘 받아오는지 확인합니다.

[root@sysdocu ~]# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

 send.mx.cdnetwo 204.123.2.5      2 u   14   64    1    1.462  1506.49   0.000

 time4.aliyun.co 10.137.53.7      2 u   19   64    1   98.225  1512.21   0.000

*LOCAL(0)        .LOCL.           5 l   20   64   37    0.000    0.000   0.000



3. Client 설정


[root@sysdocu ~]# ntpdate -u 192.168.10.2    // ntp 서버 IP



반응형

댓글()