apk(파일 형식)

apk (file format)
APK
APK format icon (2014-2019).png
파일 이름 확장자.apk,.xapk,.apks,.apkm
인터넷 미디어 유형
application/vnd.android.package-archive
포맷의 종류패키지 형식
컨테이너:
확장원자루

파일 확장자[1] apk를 가진 Android 패키지는 Android 운영 체제 및 모바일 앱, 모바일 게임 및 미들웨어배포 및 설치를 위해 Android 기반 운영 체제에서 사용되는 파일 형식입니다.Java 또는 Kotlin으로 작성할 수 있습니다.

APK 파일은 Android 앱 [2]번들에서 생성 및 서명할 수 있습니다.

개요

APK는 Microsoft WindowsAPPX, HAP for Harmony의 .app 등의 다른 소프트웨어 패키지와 유사합니다.Debian 기반 운영 체제의 OS 또는 Debian 패키지.APK 파일을 만들기 위해 먼저[3] Android Studio나 Visual Studio와 같은 도구를 사용하여 Android용 프로그램을 컴파일한 다음 모든 부분을 하나의 컨테이너 파일로 패키지합니다.APK 파일에는 프로그램의 모든 코드(예: .dex 파일), 리소스, 자산, 인증서 및 매니페스트 파일이 포함됩니다.많은 파일 형식과 마찬가지로 APK 파일에는 필요한 이름을 지정할 수 있지만 파일 이름이 파일 확장자로 끝나는 [4][5][6]것이 필요할 수 있습니다.

대부분의 Android 구현에서는 사용자가 Google Play와 같이 신뢰할 수 있는 소스 이외의 소스로부터 설치할 수 있는 "알 수 없는 소스" 설정을 켠 후에만 APK 파일을 수동으로 설치할 수 있습니다.앱 개발, 스토어에서 찾을 수 없는 앱 설치, 기존 [7][8]앱의 이전 버전 설치 등 여러 가지 이유가 있을 수 있습니다.

다른 운영 체제에서 사용

Blackberry Limited는 Android 4.1 젤리빈 앱을 지원했으며 Android Runtime을 통해 지원했으며 2014년 1월 10.2.1 펌웨어 업데이트를 [9]통해 Blackberry 10이 단종되었습니다.2014년 6월 18일 BlackBerry는 Amazon.com과의 공식 관계를 발표했고, 이로 인해 10.3 업데이트가 Amazon Appstore를 번들하게 되었습니다.

2015 Build에서 마이크로소프트는 또한 "Astoria"로 알려진 Windows 10 Mobile용 안드로이드 런타임 환경을 발표했습니다. 이 환경은 최소한의 변경만으로 안드로이드 앱을 에뮬레이트된 환경에서 실행할 수 있으며 동등한 구글 모바일 서비스를 위한 거의 드롭인 대체품으로 빙 Xbox Live와 같은 마이크로소프트 플랫폼 API에 액세스할 수 있습니다.구글 모바일 서비스 및 특정 핵심 API를 사용할 수 없으며, "백그라운드 태스크에 깊이 통합"된 앱은 [10][11]환경을 제대로 지원하지 않는다고 합니다.

2016년 [12][13]2월 25일, 이미 2015년 11월에 연기된 후, 마이크로소프트는 iOS가 이미 모바일 앱 개발의 주요 타깃이기 때문에 윈도우 브리지 툴킷에 중복된다고 주장하며 "아스토리아"를 보류할 것이라고 발표했다.또, C#프로그래밍 언어를 사용한 멀티 플랫폼 앱 개발에는,[14][15] Xamarin사의 제품(전날 인수한 제품)의 사용을 장려했다.Astoria의 일부는 Windows 10 [16]PC 버전의 WSL(Windows Subsystem for Linux) 플랫폼의 기반으로 사용되었습니다.

2021년 6월 윈도 11 발표 행사에서 마이크로소프트는 안드로이드 오픈 소스 프로젝트(AOSP)를 지원하고 사용자가 윈도 데스크톱에서 안드로이드 앱을 실행할 수 있도록 하는 새로운 윈도 서브시스템(WSA)을 선보였다.Microsoft는 사용자가 Android 앱을 Windows에 sideload할 수 있으며 서드파티 [17]소스에서 다운로드한 APK 파일을 설치할 수 있음을 확인했습니다.

OS가 출시되었을 때는 WSA를 사용할 수 없었지만, 현재 미국에서 Windows Insiders에서 2022년 [citation needed]중 글로벌 릴리스를 테스트하고 있습니다[when?].

화웨이, 자체 운영체제 하모니 출시2019년 8월 9일 OS, 2021년 6월 2일 스마트폰 및 태블릿용 최초 출시, Harmony 포함OS 2.0. 하모니멀티커널 설계 시스템의 Linux 모듈 아래의 OS는 전화 및 태블릿용 새로운 IoT 스마트 지향 운영 체제 아래의 Ark 컴파일러 아래의 기존 안드로이드 앱과 호환됩니다.Android 시스템 동작의 유창성을 24%, 응답 속도를 44%, 서드파티 애플리케이션의 부드러움을 최대 60% 향상시킨다고 회사 측은 주장하고 있습니다.게다가 Ark 컴파일러에 최적화된 안드로이드 시스템은 애플의 iOS 용어에 가깝다.단, 오픈소스 Harmony는임베디드 스마트 기기용으로 제작된 OS 모듈은 안드로이드 [18]앱과 호환되지 않습니다.

JingOS 개발자들은 "세계 최초의 iPadOS 스타일 리눅스 디스트로"라고 주장하는 JingOS를 출시했다.태블릿 친화적인 리눅스 디스트로는 2021년 3월에 출시되었습니다.Linux 앱과 Android 앱을 모두 실행할 수 있습니다.터치스크린, 스타일러스, 키보드, 트랙패드와 함께 자연스럽게 작동하도록 적응되어 '컨버전스' Linux [19]OS로 기본 제공됩니다.

WayDroid는 Anbox 컨테이너에서 고쳐 쓴 컨테이너형 어프로치입니다.이 어프로치에서는, Linux 시스템상에서 동작하는 Android 환경을 실현해, 풀 하드웨어 액세스의 메리트를 더하고 있습니다.컨테이너를 사용하면 Ubuntu Touch, Postmarket 등의 Linux 기반 전화기에서 Android 앱을 실행할 수 있습니다.Linux 터미널 경유 OS. 단, 일부 Linux 기반 운영체제는 지원되지 않습니다.오픈 소스 소프트웨어 컨테이너는 기본적으로 Linux 디바이스에서 실행할 수 있는 컨테이너에 완전한 Android 운영체제를 넣어 사용자가 Linux 호스트 [citation needed]환경에서 APK 파일을 설치하고 Android 앱을 실행할 수 있도록 합니다.

2021년 9월 13일, 화웨이는 자사의 1+8N 생태계에서 자체 앱 엔진 솔루션을 출시하여 화웨이 앱갤러리의 안드로이드 앱과 게임을 화웨이 PC와 노트북에서 실행할 수 있게 했습니다.이 플러그인을 사용하면 Huawei PC 기기에서 앱과 게임을 직접 다운로드하여 플레이할 수 있습니다.Huawei AppGallery 스마트폰 앱을 통해 대화면으로 접근할 수 있습니다.Huawei App Engine은 Multi-window 모드를 지원하므로 한 화면에서 여러 개의 Android 앱을 동시에 실행할 수 있습니다.이 뉴스의 놀라운 요소에는 파일 [20]탐색기에서 직접 APK 파일을 실행하고 설치하는 기능이 포함되어 있습니다.

구글은 2022년 [21]윈도 상에서 안드로이드 앱을 구동할 수 있는 자체 방식을 선보일 계획이다.

패키지 내용

APK 파일은 일반적으로 다음 파일과 디렉토리를 포함하는 아카이브입니다.

  • META-INF디렉토리:
    • MANIFEST.MF: 매니페스트 파일
    • 응용 프로그램의 증명서.
    • CERT.SF : 리소스 목록 및 MANIFIST에 있는 대응하는 행의 SHA-1 다이제스트.MF 파일. 예:
      시그니처 버전: 1.0 작성 기준: 1.0 (Android) SHA1-Digest-Manifest: wxcnEAI0UA5nO5QJ8CGMwjkGWE=...이름: res/layout/exchange_component_back_bottom.xml SHA1-Digest: eACJMjESj7Zkf0cBFTZ0nqWrt7w= 이름: res/drawable-hdpi/icon.png SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
  • lib: 플랫폼에 종속된 컴파일된 코드가 포함된 디렉토리. 디렉토리는 그 안에서 더 많은 디렉토리로 분할됩니다.
    • armeabi-v7a: 컴파일된 코드는 모든 ARMv7 이상의 프로세서에 한정됩니다.
    • arm64-v8a: 컴파일된 코드는 모든 ARMv8 Arm64 이상의 프로세서에[22] 한정됩니다.
    • x86: x86 프로세서 전용 컴파일 코드
    • x86_64: x86-64 프로세서 전용 컴파일 코드
    • mips 및 , NDK r17[23][24] 이후 폐지되었습니다.
  • res: resources.arsc로 컴파일되지 않은 리소스를 포함하는 디렉토리(아래 참조).
  • assets: 응용 프로그램애셋이 저장되어 있는 디렉토리.이러한 에셋은, 다음의 URL 로 취득할 수 있습니다.AssetManager.
  • AndroidManifest.xml: 응용 프로그램의 이름, 버전, 액세스 권한, 참조된 라이브러리 파일을 설명하는 추가 Android 매니페스트 파일입니다.이 파일은 Android 바이너리 XML로 AXMLPrinter2, Apktool M 또는 Androguard 등의 도구를 사용하여 사람이 읽을 수 있는 평문 XML로 변환할 수 있습니다.
  • classes.dex: Android Runtime(또는 Android 4.4 KitKat에서 사용되는 Dalvik 가상 머신)에서 실행되는 dex 파일 형식으로 컴파일된 클래스입니다.
  • resources.arsc: 바이너리 XML 등의 사전 컴파일된 리소스가 포함된 파일.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Application Fundamentals". Android Developers. Retrieved 2018-12-03.
  2. ^ Peters, Jay (2021-06-30). "Google is moving away from APKs on the Play Store". The Verge. Retrieved 2021-08-15.
  3. ^ "Application Studio". Android Developers.
  4. ^ "Inside the Android Application Framework" (video). Google Sites. 2008.
  5. ^ Hatem Ben Yacoub (20 April 2018). "Tips: How to install apk files on Android Emulator". Open Ha Magazine. Archived from the original on 2012-05-21. Retrieved 2021-07-17.
  6. ^ "The Structure of Android Package (APK) Files". OPhone SDN. OPhone Software Developer Network. 17 November 2010. Archived from the original on 8 February 2011.
  7. ^ "Unknown Sources: Everything you need to know!". Android Central. 27 July 2018.
  8. ^ "APK File Extension – What APK File is and How to open it?". Tips Overflow. Retrieved 2021-11-12.
  9. ^ Michael, Kozlowski. "BlackBerry 10.2.1 Update Allows you to Install APK Files on your Phone". GoodEReader. GoodEReader. Retrieved January 29, 2014.
  10. ^ "How will Android support work in Windows 10 for Phones?". TechRadar Pro. Archived from the original on May 19, 2015. Retrieved May 22, 2015.
  11. ^ "Microsoft brings Android, iOS apps to Windows 10". Ars Technica. April 29, 2015. Retrieved April 30, 2015.
  12. ^ "Microsoft might not bring Android apps to Windows after all". The Verge. Vox Media. November 16, 2015. Retrieved November 16, 2015.
  13. ^ Collins, Katie (November 16, 2015). "Microsoft presses pause on tool for porting Android apps to Windows 10". CNET. CBS Interactive.
  14. ^ "Microsoft confirms: Android-on-Windows Astoria tech is gone". Ars Technica. Conde Nast. February 25, 2016. Retrieved February 25, 2016.
  15. ^ "An Update on the Developer Opportunity and Windows 10". Building Apps for Windows blog. Microsoft. February 25, 2016. Retrieved February 25, 2016.
  16. ^ Bright, Peter (April 6, 2016). "Why Microsoft needed to make Windows run Linux software". Ars Technica. Condé Nast.
  17. ^ Parmar, Mayank (2021-06-27). "Microsoft confirms Android apps will run on all Windows 11 PCs". Windows Latest. Retrieved 2021-06-28.
  18. ^ Amy, Sarkar. "ARK Compiler: Huawei's self-developed Android application compiler – Explained". HC Newsroom. HC Newsroom. Retrieved April 28, 2019.
  19. ^ Sneddon, Joey. "First Look: Meet the New Linux Distro Inspired by the iPad". omg!ubuntu!. omg!ubuntu!. Retrieved 1 February 2021.
  20. ^ Li, Deng. "Huawei Mobile App Engine launched, run Android apps and games on PC". HC Newsroom. HC Newsroom. Retrieved September 13, 2021.
  21. ^ Warren, Tom (2021-12-09). "Google is bringing Android games to Windows in 2022". The Verge. Retrieved 2021-12-13.
  22. ^ "ABI Management Android Developers". developer.android.com. Retrieved 16 June 2018.
  23. ^ "Android ABIs Android NDK". Android Developers. Retrieved 2020-08-14. Note: Historically the NDK supported ARMv5 (armeabi), and 32-bit and 64-bit MIPS, but support for these ABIs was removed in NDK r17.
  24. ^ Dan, Albert (Sep 5, 2018). "Changelog r17". GitHub. Retrieved 2020-08-14. Support for ARMv5 (armeabi), MIPS, and MIPS64 has been removed. Attempting to build any of these ABIs will result in an error.