본문 바로가기

Programming/Android

(8)
Multiple APK support link : https://developer.android.com/google/play/publishing/multiple-apks Multiple APK support | Android Developers Multiple APK support is a feature on Google Play that allows you to publish different APKs for your application that are each targeted to different device configurations. Each APK is a complete and independent version of your application, but they share… developer.android.com *Mult..
ABI에 대해 여러 개의 APK 구성 link : https://developer.android.com/studio/build/configure-apk-splits Build multiple APKs | Android Developers Although you should build a single APK to support all your target devices whenever possible, that might result in a very large APK due to files needed to support multiple screen densities or Application Binary Interfaces (ABIs). One way to reduce the size developer.android.com *ABI에 대해..
AndroidManifest란? AndroidManifest란? (https://developer.android.com/guide/topics/manifest/manifest-intro.html?hl=ko) 모든 애플리케이션에는 루트 디렉토리에 AndroidManifest.xml 파일(정확히 이 이름이어야 함)이 있어야 한다. 매니페스트 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공한다. 이외에도 매니페스트 파일은 다음 작업을 수행한다. 애플리케이션에 대한 Java 패키지의 이름을 지정한다. 이 패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 한다. 액티비티, 서비스, 브로드캐스트 수신기 및 콘텐츠 제공자 등 애플리케잉션을 이루는 구성 요소를 설명한다. 또한, 각..
Application.mk란? Application.mk란? (https://developer.android.com/ndk/guides/application_mk?hl=ko) 이 문서는 ndk-build에서 사용되는 Application.mk 빌드 파일에 대해 설명한다. 개요 Application.mk 파일은 실제로는 컴파일을 위한 여러 가지 변수를 정의하는 작은 GNU Makefile 프래그먼트이다. 이것은 보통 $PROJECT/jni/ 아래에 위치하는데, 여기에서 PROJECT가 애플리케이션의 프로젝트 디렉토리를 포인팅한다. 다른 방법으로는 최상위 NDK/apps/ 디렉토리의 하위 디렉토리에 이 파일을 넣는 방법이 있다. 예: $NDK/apps//Application.mk 여기서 은 NDK 빌드 시스템에 대한 앱을 설명하는 데 사..
Android.mk란? Android.mk란? (https://developer.android.com/ndk/guides/android_mk.html?hl=ko) 이 페이지는 ndk-build가 사용하는 Android.mk 빌드 파일의 구문에 대해 설명한다. 개요 Android.mk 파일은 프로젝트의 jni/ 디렉토리에 속한 하위 디렉토리에 있으며, 빌드 시스템에 대한 소스 및 공유 라이브러리를 설명한다. 이 파일은 실제로는 빌드 시스템이 한 번 또는 그 이상 파싱하는 작은 GNU 메이크파일 프래그먼트이다. Android.mk 파일은 Application.mk, 빌드 시스템, 환경 변수가 정의되지 않은 상태로 남겨두는 프로젝트 전반의 설정을 정의하는 데 유용하다. 이 파일은 특정 모듈에 대한 프로젝트 전체 설정을 재정의할 수도..
ABI란? ABI란? () 다양한 Android 핸드셋은 각기 다른 CPU를 사용하므로, 서로 다른 명령 집합을 사용한다. CPU와 명령 집합의 조합별로 나름의 애플리케이션 바이너리 인터페이스(ABI)가 있다. ABI는 애플리케이션의 기계어 코드가 런타임에 시스템과 상호작용하는 방식을 매우 정밀하게 정의한다. 여러분의 앱이 사용할 각 CPU 아키텍처에 대해 ABI를 지정해야 한다. 전형적인 ABI는 다음과 같은 정보를 포함한다. 기계어 코드가 사용해야 하는 CPU 명령 집합 런타임 시 메모리 저장 및 로드의 엔디언 실행 가능한 바이너리의 형식(예: 프로그램 및 공유 라이브러리)과 이러한 바이너리가 지원하는 콘텐츠의 유형 코드와 시스템 간에 데이터를 전달하기 위한 다양한 규칙. 이러한 규칙에는 정렬 제약 조건뿐 아니..
NDK란? NDK란? (https://developer.android.com/ndk/guides/concepts.html?hl=ko) 소개 Android NDK는 Android 앱에 C 또는 C++("네이티브 코드")를 삽입할 수 있게 해주는 도구 집합이다. Android 앱에 네이티브 코드를 사용할 수 있는 능력은 다음 중 한 가지 이상을 수행하려는 개발자에게 특히 유용할 수 있다. 플랫폼 간의 앱 이식 기존 라이브러리를 재사용하거나 재사용할 고유의 라이브러리 제공 특정한 경우, 특히 게임과 같이 집약적인 계산 작업이 이루어지는 앱의 성능 향상 작동 방식 앱을 빌드할 때는 다음 구성 요소에 대해 잘 파악하고 있어야 한다. 네이티브 공유 라이브러리: NDK는 개발자의 C/C++ 소스 코드에서 이러한 라이브러리 또는..
Gradle이란? Gradle이란? (https://uroa.tistory.com/64#footnote_link_64_1) Gradle이란 빌드 배포 도구(build tool)이다. 안드로이드 스튜디오로 프로젝트를 만들면 Gradle이란 것도 같이 생성되는 것을 볼 수 있다. 안드로이드 스튜디오(IDE)와 빌드 시스템이 서로 독립적이기 때문이다. 이클립스에서는 프로젝트 빌드를 이클립스 내에서 담당했지만, 안드로이드 스튜디오는 코드의 편집만을 담당할 뿐 빌드는 모두 gradle을 통해 수행된다. 간혹 안드로이드 스튜디오의 프로젝트 설정과 gradle 빌드 설정이 동기화되지 않아 스튜디오에서 에러로 표시하는 경우도 있다. 이전에는 라이브러릴 추가하려면 Jar파일을 받아서 설정해줘야 했지만 라이브러리들이 많아짐에 따라 자동화 ..