AndroidManifest.xml 은 앱의 필수 구성 요소이며 정의되지 않은 권한이나 구성요소를 앱 구동 시 사용할 수는 없습니다. 쉽게 말해 안드로이드 프로젝트에서는 반드시 필요한 파일들이 있습니다. AndroidManifest.xml이란 파일이며 Manifest 파일은 앱에 대한 필수 적인 정보를 안드로이드 툴과, OS, Google Play 스토어에 제공됩니다.
해당 파일에는 여러 정보들을 담을 수 있지만 그중 꼭 필요한 정보가 있습니다. 패키지 이름, 앱에서 사용되는 컴포넌트, 권한, 요구되는 하드웨어와 소프트웨어입니다.
2번째 줄 xmlns:android=""는 android라는 네임스페이스를 선언한다는 뜻이며 고유한 URI를 의미합니다.
4번째 줄 package=""에선 빌드시에 소스가 해당 위치에 있는 것으로 인식을 합니다.
7번째 줄 android:allowBackup=""은 애플리케이션이 복원 또는 백업을 할 수 있도록 하는 여부를 판단합니다. false로 설정 시 모든 애플리케이션의 정보 데이터가 전체 시스템 백업에 의해서도 애플리케이션의 복원 또는 백업이 수행되지 않게 됩니다 따라서 해당 속성의 기본값은 true로 시작됩니다.
11번째 줄 android:label=""은 전체 애플리케이션을 나타내는 즉 사용자가 읽을 수 있는 라벨 및 애플리케이션의 구성요소의 기본 라벨입니다.
권한 설정이 필요할 경우 5번째 줄에 추가적으로 <uses-permission>을 이용해 설정해주면 됩니다.
아래 코드는 SMS 전송에 대한 권한을 요청하기 위해 설정하는 코드입니다.
<uses-permission android:name="android.permission.SEND_SMS"/>
Android일부 버전 이상부터는 몇몇 권한에 대해서 사용자에게 동적으로 요청하거나 승인 또는 거절을 받아야 하는데 별개로 앱에서 필요로 하는 모든 권한에는 Manifest파일 해당 요소를 설정하시면 됩니다.
또한 앱을 설치하다 보면 앱에서 필요로 하는 하드웨어나 소프트웨어의 특징들을 알려주고 명시할 수 있습니다. 증권 앱을 설치할 경우 보안 관련된 다른 어플들도 설치하거나 필요하다는 명시를 합니다. Manifest파일에 <uses-feature>를 이용해 아래와 같이 처리해주면 됩니다.
<uses-feature android:name="android.hardware.sensor.compass"
android:required="true"/>
Default Activity not found이란 오류나, 보통 안드로이드 스튜디오에서 제공하는 액티비티 중 아무 정보도 없는 프로젝트로 생성하게 될 경우 해당 xml에 추가적인 설정을 해주어야 하는데 아래와 같은 해당 코드입니다. 해당 프로젝트는 앱을 동작하게 하는 메인이 없기에 실행이 되게 하려면 해당 코드를 삽입해주어야 빌드가 동작됩니다.
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
'Android' 카테고리의 다른 글
android - [WEB] JWT(Json Web Token)란? 개념 정리 및 예제 (0) | 2022.05.18 |
---|---|
android studio - 개발 도구 (0) | 2022.05.15 |