Android/Gradle(6)
-
Gradle 파일(settings.gradle / build.gradle) 및 사용법 알아보기
Gradle 설치 후 구성된 디렉터리에서 .gradle 확장자를 가진 파일에 대해서 먼저 알아보도록 하겠습니다. 구성되는 .gradle 확장 파일은 settings.gradle(settings.gradle.kts), build.gradle(build.gradle.kts) 이 있습니다.각 파일은 groovy와 kotlin DSL 중 하나의 형태를 골라 구성할 수 있습니다. kotlin DSL로 포스팅을 통해 파일의 사용법을 알아보도록 하겠습니다.settings.gradle / settings.gradle.kts모든 gradle 프로젝트의 진입점이 되는 파일로, 주목적은 root project와 함께 빌드할 subproject를 추가하는 것입니다.그래서 root project만 존재하는 single proj..
2024.03.16 -
Gradle 개념 / 특징 및 Gradlew / 사용법 알아보기
안드로이드 개발 시 IDE에 내장된 Gradle을 사용하면서도 어설프게 알고 있던 내용들을 정리해보려고 합니다.Gradle이 무엇인지 개념부터 Gradlew과의 차이점, 사용법 알아보도록 하겠습니다.Gradle 개념Gradle은 빌드 자동화 도구의 한 종류 입니다. 빌드 자동화 도구에는 여러가지가 있는데요, 종류만 간단히 살펴보면 다음과 같습니다.make : 유닉스 계열 운영체제에서 사용되는 빌드 자동화 도구apache ant : 자바 빌드 자동화 도구maven : 자바 프로젝트 관리 도구(ant 기능 확장)gardle : groovy(자바에 스크립트 언어의 특징을 더한 동적 객체 지향 언어) 이용한 빌드 자동화 시스템apache ant와 maven은 xml 기반으로 구성되어 프로젝트가 방대해지는 경우 ..
2024.03.15 -
Firebase Performance 서비스 추가 Gradle 설정 과정 참고(전이의존성 해결)
Firebase perf 추가 시 Auth어쩌구 에러 → Firebase BoM 사양에 맞춰 버전 업그레이드 iid랑 messaging 서비슨가 여튼 충돌 → force 구문 주석 처리했다가 버전 업그레이드 AbstractMethodException com.google.android.gms.common.Api$Client → Build.app에 있는 force 구문 google 관련 3개 버전 변경(최신으로) protobuf-lite protobuf-javalite duplicate exception → build.gradle에 configurations{ all*.exclude module:’protobuf-lite’} 추가 Process: kr.co.zumo.app.dev, PID: 3735 java..
2024.03.12 -
Submodule Proguard 적용
solution#1 submodule이 아닌 최상단 app/build.gradle에 '../solution-xxx/xxx/proguard-rules.pro' 식으로 포함 android { buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } release { signingConfig signingConfigs.release shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), ..
2023.10.19 -
Build 구성
setting.gradle : 앱 build시 포함 필요 모듈 Gradle에 알려줌(single project인지 multi-project인지 구분할 수 있는 기준) 최상위 빌드 파일(build.gradle(project)) : 루트 프로젝트 디렉터리에 있으며 프로젝트의 모든 모듈에 적용되는 빌드 구성을 정의 1 * The buildscript block is where you configure the repositories and 2 * dependencies for Gradle itself—meaning, you should not include dependencies 3 * for your modules here. 1 * The allprojects block is where you configur..
2021.04.23 -
SdkVersion 관계
compileSdkVersion Gradle에 어떤 안드로이드 SDK 버전으로 앱을 컴파일 할 것인지 알려줍니다 . 즉, 지원할 수 있는 가장 높은 API 버전을 의미합니다. 해당 SDK 버전에 포함된 API를 사용할 수 있다는 것을 의미합니다. 컴파일시에만 적용되므로 런타임동안에는 영향을 미치지 않습니다. 항상 최신 버전의 SDK로 지정하는 것이 좋습니다. import문으로참조되는 클래스나 메소드를 찾을 때 어떤 버전의 SDK에서 찾을 것인가를 결정해줍니다. minSdkVersion minSdkVersion보다 낮은 API 버전 앱은 설치할 수 없습니다. minSdkVersion보다 높은 API를 사용하면 lint에서 경고를 띄워 알려줍니다. Support Library나 Google Play Serv..
2021.04.23