공부/안드로이드
-
안드로이드가 부팅될 때 동작 순서 안드로이드 Android는 Google에서 개발한 모바일 운영 체제(OS)입니다. Linux 커널을 기반으로 하며 주로 스마트폰, 태블릿 및 기타 모바일 장치와 같은 터치스크린 장치용으로 설계되었습니다. 또한 Android는 다양한 기기를 지원하여 IoT 기기에 많이 사용 됩니다. 1. BootLoader 동작 기본 부트로더는 장치의 하드웨어 구성 요소를 초기화한 다음 일반적으로 별도의 메모리 파티션에 저장되는 보조 부트로더를 로드합니다. 보조 부트로더는 Android 커널을 로드하고 현재 하드웨어에 문제가 있는지 확인하는 과정을 거치고 기기가 정상 상태인지 확인합니다.. 2. Kernel 초기화 부트로더가 Android 커널을 로드하면 커널 초기화 프로세스가 시작됩니다..
안드로이드가 부팅 될 때 동작 순서안드로이드가 부팅될 때 동작 순서 안드로이드 Android는 Google에서 개발한 모바일 운영 체제(OS)입니다. Linux 커널을 기반으로 하며 주로 스마트폰, 태블릿 및 기타 모바일 장치와 같은 터치스크린 장치용으로 설계되었습니다. 또한 Android는 다양한 기기를 지원하여 IoT 기기에 많이 사용 됩니다. 1. BootLoader 동작 기본 부트로더는 장치의 하드웨어 구성 요소를 초기화한 다음 일반적으로 별도의 메모리 파티션에 저장되는 보조 부트로더를 로드합니다. 보조 부트로더는 Android 커널을 로드하고 현재 하드웨어에 문제가 있는지 확인하는 과정을 거치고 기기가 정상 상태인지 확인합니다.. 2. Kernel 초기화 부트로더가 Android 커널을 로드하면 커널 초기화 프로세스가 시작됩니다..
2023.03.17 -
JVM(Java Virtual Machine) JVM(Java Virtual Machine)은 중요한 구성 요소중의 하나다. JVM은 Java 코드를 실행하고 Java 애플리케이션을 위한 플랫폼 독립적인 런타임 환경을 제공하고 다양한 장치 및 플랫폼에서 일관된 동작을 보장하고 메모리 관리 및 보안 기능을 제공한다. JVM은 컴파일된 Java 코드를 해석하고, 메모리를 관리하고, Java의 액세스 제한을 적용하여 보안을 제공하는 역할을 한다. JVM의 주요 이점 중 하나는 플랫폼 독립성이다. Java 코드는 JVM이 있는 모든 장치에서 실행할 수 있는 바이트코드라는 기계 독립적 형식으로 컴파일됩니다. 이를 통해 다양한 장치 및 플랫폼에서 실행할 수 있다. JVM은 표준 런타임 환경을 제공하여 다양한 장치 ..
JVM이란?JVM(Java Virtual Machine) JVM(Java Virtual Machine)은 중요한 구성 요소중의 하나다. JVM은 Java 코드를 실행하고 Java 애플리케이션을 위한 플랫폼 독립적인 런타임 환경을 제공하고 다양한 장치 및 플랫폼에서 일관된 동작을 보장하고 메모리 관리 및 보안 기능을 제공한다. JVM은 컴파일된 Java 코드를 해석하고, 메모리를 관리하고, Java의 액세스 제한을 적용하여 보안을 제공하는 역할을 한다. JVM의 주요 이점 중 하나는 플랫폼 독립성이다. Java 코드는 JVM이 있는 모든 장치에서 실행할 수 있는 바이트코드라는 기계 독립적 형식으로 컴파일됩니다. 이를 통해 다양한 장치 및 플랫폼에서 실행할 수 있다. JVM은 표준 런타임 환경을 제공하여 다양한 장치 ..
2023.03.09 -
Decompile이란? 디컴파일이란 컴퓨터에서 읽을 수 있는 코드를 원래 코드 기능으로 사람이 읽을 수 있는 소스 코드로 변환하는 행위다. 디컴파일은 리버스 엔지니어링의 한 방법으로, 독립적으로 창작된 컴퓨터 프로그램과 다른 프로그램과의 호환에 필요한 정보를 얻기 위해 사용될 수 있다. 디컴파일러는 디컴파일을 수행하는 컴퓨터 프로그램이다. 디컴파일은 애플리케이션의 소스 코드를 분석하고 애플리케이션의 보안 결함을 탐색하는 데 유용하게 사용될 수 있지만 원본 프로그램의 저작권을 침해하지 않도록 주의해야 한다. APK와 Decompile APK (Android PacKage) 파일은 Android 애플리케이션의 실행 파일이다. APK 파일은 리소스 및 Android Manifest 파일 및 Java 언어로 작..
Decompile이란?Decompile이란? 디컴파일이란 컴퓨터에서 읽을 수 있는 코드를 원래 코드 기능으로 사람이 읽을 수 있는 소스 코드로 변환하는 행위다. 디컴파일은 리버스 엔지니어링의 한 방법으로, 독립적으로 창작된 컴퓨터 프로그램과 다른 프로그램과의 호환에 필요한 정보를 얻기 위해 사용될 수 있다. 디컴파일러는 디컴파일을 수행하는 컴퓨터 프로그램이다. 디컴파일은 애플리케이션의 소스 코드를 분석하고 애플리케이션의 보안 결함을 탐색하는 데 유용하게 사용될 수 있지만 원본 프로그램의 저작권을 침해하지 않도록 주의해야 한다. APK와 Decompile APK (Android PacKage) 파일은 Android 애플리케이션의 실행 파일이다. APK 파일은 리소스 및 Android Manifest 파일 및 Java 언어로 작..
2023.03.09 -
안드로이드 JAVA, Kotlin Java Java는 1995년 Sun Microsystems(현재 Oracle Corporation 소유)에서 처음 출시한 범용 클래스 기반 객체 지향 프로그래밍 언어다. 개발자가 JVM(Java Virtual Machine)이 있는 모든 장치에서 실행할 수 있는 코드를 작성할 수 있도록 네트워크 컴퓨팅에 사용할 수 있는 언어를 만드는 것을 목표로 설계되었다. Java는 객체 지향 프로그래밍 언어로 객체와 클래스의 개념을 기반으로 한다. Java는 객체 지향 프로그래밍의 기본 개념인 상속, 다형성 및 캡슐화도 지원한다. 자바의 특징 플랫폼 독립성 : Java 코드는 JVM이 있는 모든 장치에서 실행될 수 있으므로 플랫폼 간 호환성이 좋다. 메모리 관리 : Java에는 메..
안드로이드 JAVA, Kotlin안드로이드 JAVA, Kotlin Java Java는 1995년 Sun Microsystems(현재 Oracle Corporation 소유)에서 처음 출시한 범용 클래스 기반 객체 지향 프로그래밍 언어다. 개발자가 JVM(Java Virtual Machine)이 있는 모든 장치에서 실행할 수 있는 코드를 작성할 수 있도록 네트워크 컴퓨팅에 사용할 수 있는 언어를 만드는 것을 목표로 설계되었다. Java는 객체 지향 프로그래밍 언어로 객체와 클래스의 개념을 기반으로 한다. Java는 객체 지향 프로그래밍의 기본 개념인 상속, 다형성 및 캡슐화도 지원한다. 자바의 특징 플랫폼 독립성 : Java 코드는 JVM이 있는 모든 장치에서 실행될 수 있으므로 플랫폼 간 호환성이 좋다. 메모리 관리 : Java에는 메..
2023.03.09 -
NDK와 JNI NDK와 JNI의 용어 차이 NDK(Native Development Kit) : Android OS에서 C/C++ 언어를 사용하게 하기 위한 개발 도구 Android는 아키텍쳐, 버전별 기본적으로 환경구성(라이브러리 및 ls 와같은 명령어 등)이 다르다. 그래서 NDK를 통해 개발 해야 하는건데, NDK로 개발시 Android 아키텍쳐 및 버전에 따라 자동으로 컴파일 할 수 있으므로 매우 편하다. JNI (Java Native Interface) : Java에서 C/C++로 작성한 로직을 사용하게 해주는 인터페이스 JNI는 말 그대로 저수준의 언어(C/C++)로 작성된 로직을 Java 코드에 로드하여 사용할 수 있게 도와주는 인터페이스(쉽게 말해서 문법)이다. Android NDK(Na..
NDK와 JNI란?NDK와 JNI NDK와 JNI의 용어 차이 NDK(Native Development Kit) : Android OS에서 C/C++ 언어를 사용하게 하기 위한 개발 도구 Android는 아키텍쳐, 버전별 기본적으로 환경구성(라이브러리 및 ls 와같은 명령어 등)이 다르다. 그래서 NDK를 통해 개발 해야 하는건데, NDK로 개발시 Android 아키텍쳐 및 버전에 따라 자동으로 컴파일 할 수 있으므로 매우 편하다. JNI (Java Native Interface) : Java에서 C/C++로 작성한 로직을 사용하게 해주는 인터페이스 JNI는 말 그대로 저수준의 언어(C/C++)로 작성된 로직을 Java 코드에 로드하여 사용할 수 있게 도와주는 인터페이스(쉽게 말해서 문법)이다. Android NDK(Na..
2023.03.09 -
안드로이드란? Android OS는 구글에서 개발한 스마트폰용 운영체제로, 여러 기능을 통합하여 사용자가 쉽게 접근할 수 있도록 만들어져 있다. 이를 통해, 사용자는 전화, 메시지, 인터넷, 음악, 미디어, 앱 등 다양한 서비스를 이용할 수 있다. Android OS는 리눅스 기반으로 제작되었으며, 자바와 코틀린으로 앱을 개발할 수 있는 기능을 제공하며 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. Android SDK를 통해 개발할 수 있는 도구와 API가 제공되고있고, 자바와 코틀린으로 작성된 앱은 Android Runtime을 통해 별도의 프로세스에서 실행된다. 이를 통해, 안정적이고 효율적인 앱을 만들 수 있도록 도와주고 있다. 안드로이드의 특징 6가지 ..
안드로이드의 개념과 4대 구성 요소안드로이드란? Android OS는 구글에서 개발한 스마트폰용 운영체제로, 여러 기능을 통합하여 사용자가 쉽게 접근할 수 있도록 만들어져 있다. 이를 통해, 사용자는 전화, 메시지, 인터넷, 음악, 미디어, 앱 등 다양한 서비스를 이용할 수 있다. Android OS는 리눅스 기반으로 제작되었으며, 자바와 코틀린으로 앱을 개발할 수 있는 기능을 제공하며 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. Android SDK를 통해 개발할 수 있는 도구와 API가 제공되고있고, 자바와 코틀린으로 작성된 앱은 Android Runtime을 통해 별도의 프로세스에서 실행된다. 이를 통해, 안정적이고 효율적인 앱을 만들 수 있도록 도와주고 있다. 안드로이드의 특징 6가지 ..
2023.03.09