안 쓰던 블로그

안드로이드-안드로이드 스튜디오 기본 파일 본문

안드로이드

안드로이드-안드로이드 스튜디오 기본 파일

proqk 2020. 8. 2. 01:51
반응형

1. manifests

지도같은 역할

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.gurustudy">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

package: 패키지이름. 고유해야 한다

allowBackup: true로 하면 앱을 삭제하더라도 다시 설치했을 때 이전의 데이터를 일부 복원함

icon: 아이콘을 정함

label: 앱 이름

roundIcon: 동그라미 아이콘을 써야할 때는 이 아이콘을 사용

supportsRtl: true로 하면 오른쪽에서 왼쪽으로 글을 읽는 국가에서는 글씨가 반대로 나온다

theme: 앱의 기본 테마

activity: 안드로이드의 화면 여기에서는 .MainActivity라는 화면이 하나 있다

intent-filter: 액티비티의 속성이고, LAUNCHER속성이 있어서 부모 액티비티를 런쳐 액티비티(앱을 키면 맨 처음 나오는 화면)로 해 준다

 

2. java폴더

java폴더 안에 3개의 폴더

맨 위의 폴더는 개발할 때 사용

아래 두 개는 테스터 코드를 작성할 때 사용한다

 

3. java(generated)

절대 건들지 말 것

앱 만들면서 생기는 자동 파일이나 임시 파일이 저장된다

 

4. res

리소스 폴더

 

4-1. values

colors: color코드를 변수로 저장하고 싶을 때

strings: 문자열을 변수로 저장하고 싶을 때

style: 앱의 기본 스타일을 지정

 

5. Gradle Scripts

프로젝트에 있는 모든 앱에 적용되는 설정 모음

 

5-1. build.gradle(project)

코틀린 버전, 의존성(이 저장소에 있는 걸 쓴다) 등이 적혀 있다

 // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.3.72"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

classpath: gradle 어쩌구: 이 프로젝트는 gradle버전 4.0.1을 사용한다

(gradle: 라이브러리 관리를 해 주고, 사용자가 쓴 코드를 기계어로 변환한다)

 

5-2. build.gradle(module)

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.example.gurustudy"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.1'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

}

-defaultConfig

plugin: 이 프로젝트에 없는 걸 사용할 때

compileSdkVersion: 기계어로 변환할 때 sdk n번 기준으로 컴파일하겠다(기계어 번역-컴파일)

buildToolsVersion: 주석 등 기계어로 바꾸면 필요없는 부분을 정리한다(정리-빌드)

minSdkVersion: 설치를 위한 최소 sdk 버전

versionCode: 앱 업데이트할 때마다 숫자가 올라감

testInstrumentationRunner: AndroidJUnitRunner로 내가 작성한 테스트 코드를 작동하겠다

 

-buildTypes

release: 배포할 목적으로 빌드할 때 설정

 

-dependencies

의존성

우리 프로젝트는 여기에서 뭔가를 끌어와서 쓰고 있다

 

6. proguard-rules.pro

배포할 때 난독화를 담당

딱히 건들 일은 없다

 

7. settings.gradle

프로젝트 안에 앱을 하나 더 만들 때 쓰는데.. 보통 자동으로 해 주기 때문에 딱히 건들 일은 없다

반응형
Comments