안드로이드
 : 구글에서 개발한 운영체제(OS)

-> base : 리눅스 커널 위에서 동작
* 커널 : CPU 스케줄링, 하드웨어 컨트롤, 메모리 관리

운영체제 : USER <-> Application <-> OS <-> H/W

안드로이드 앱 개발
- 개발 언어 : JAVA, Kotlin, C
- 화면구성 : xml
- 안드로이드 개발 도구 : sdk(software development kit) == 운영 체제 등을 위한 응용프로그램들을 만들 수 있게 해주는 개발 도구의 집합
- 안드로이드 빌드(앱을 묶고 필요한 라이브러리 파일 임포트) 도구 : gradle(Java 기반 동작) 
- 통합 개발 환경(IDE) : Android Studio, Eclipse(최근 버전은 지원하지 않음)

- Android Studio 를 설치하면 java와 Gradle을 설치되지만, 버전관리에 어려움이 있음 -> 각각 활용
vt-x : 하드웨어 가상화(어플리캐이션 확인을 위해 필요)
-> https://leomoon.com/downloads/desktop-apps/leomoon-cpu-v/

Java version에 따른 Gradle version 확인 : https://docs.gradle.org/current/userguide/compatibility.html
Java Version : 15.0.2
Gradle Version : 7.0.2

Java 설치
JDK 경로 설정(대소문자 구분) : C:\App\Dkit\JDK
 -> 해당 경로에 jdk 압축 해제 -> 환경변수 편집(프로그램 별 Java Version 관리)

Gradle 설치
Gradle 경로 설정(대소문자 구분) : C:\App\Dkit\Gradle
https://gradle.org/releases/ 접속하여 7.0.2 version을 binary-only 로 다운로드 후 경로에 압축해제
-> 환경변수 편집 -> cmd에서 gradle -version 입력후 JVM version JDK와 일치하는지 확인

Android Studio 설치
https://developer.android.com/studio
프로그램 경로 관리를 위해 경로 설정 : C:\App\Tools\IDE\AndroidStudio
- Android Virtual Device : 개발 중 보여주는 화면 표시를 위해 필요함
- Performance(버전에 따라 안나올 수 있음) : 하드웨어 가속 기능을 사용 할것인지 유무 (하드웨어 가속이 권장되며, 일반적으로 더 빠르다.)
- 하드웨어 가속기능을 사용하려면, SDK 도구 : 최신 버전 권장(최소 17 이상), SDK 플랫폼 : **********************

SDK 또한 버전 관리를 위해 경로 생성 : C:\App\Dkit\Sdk
-> 커스텀 옵션으로 안드로이드 스튜디오 설치

API Level
API 레벨이란 안드로이드 플랫폼 버전에 따라 제공되는 플랫폼 API 수정 사항을 구별하는 정수 값
안드로이드 플랫폼은 애플리케이션이 안드로이드 시스템과 통신할 수 있도록 해 주는 플랫폼 API를 제공
API 업데이트는 이전 버전의 API가 제거되는 것이 아니라 이전 버전의 API와 호환되면서 새로운 기능들이 추가되는 것을 의미

프로젝트 생성
file -> Setting -> gradle 설정으로 가서 커스텀 Gradle과 그 gradle을 사용할 자바 버전 설정

Virtual Device 설정
Android Virtual Device Manager -> Create Virtual Device -> 화면설정 -> x86 Images -> OS Version 다운로드, 설정
=> 무겁고 실행이 잘 안되는 버그가 있어서 NOX를 이용해 진행!
메모장으로 nox_adb.bat 아래와 같이 생성
"nox_adb.exe  파일 경로" connect 127.0.0.1:62001
pause
=> nox 앱을 잡을수 있게 한 프로그램!
========================================
AndroidManifest.xml
1. 어플리케이션의 고유한 식별자 정의 (package)
2. 어플리케이션에 필요한 접근 권한 설정
3. 어플리케이션의 구성 요소 정의
========================================

'Android' 카테고리의 다른 글

[Android] View, layout, attribute, widjet  (0) 2021.12.05

+ Recent posts