그래들 빌드 스크립트 자바와 유사한 그루비 언어로 기술
module 의 build.gradle
implementation fileTree(dir: 'libs', include: ['*.jar']) //libs 디렉토리의 모든 jar 로드
settings.gradle
include ':app', ':lib' 여러 개의 모듈 사용가능
proguard 난독화 app/proguard-rules.pro
한앱에서 메서드 수가 65536개를 넘으면 mutidex 기능 이용(프로가드로 해결가능)
디버그에 문제없으나 릴리즈에 문제 있으면 프로가드 설정 의심
gradle.properties build.gradle에서 참조 가능 변수 사용가능
local.properties sdk 위치 지정 gitignore할것
의존관계 프로젝트 build.gradle에 추가하여 설정가능 gradlew build로 실행
task build << { println '실행' } task configure << { println '설정' } build.dependsOn(configure); //빌드하기 전에 설정부터 한다
keystore파일의 위치와 패스워드 등 설정(app android 내에)
signingConfigs { release{ storeFile file("release.keystore") storePassword "xxxxxxx" keyAlias "androidreleasekey" keyPassword "xxxxxxxx" } } //효율적인 버전관리 def versionMajor = 1 def versionMinor = 0 def versionPatch = 0 def versionBuild = 0 versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild versionName "${versionMajor}.${versionMinor}.${versionPatch}"
빌드타입 release debug Stage
signingCongif signingCongif.release //사이닝키 설정
minifyEnabled true //프로가드 활성화
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".debug" 패키지 이름 끝에 .debug 추가
versionNameSuffix "-debug" 버전 이름 끝에 -debug 추가
initWith(buildTypes.debug) 디버그 설정을 이용해 빌드타입 만들기
applicationIdSuffix ".stage"
빌드타입 확인 뷰->툴 윈도우->빌트 버라이언츠
debuggable 디버그 가능 여부
jniDebuggable 네이티브 코드 디버그 가능 여부
manifestPlaceholders 매니페스트 내에서 플레이스 홀더 설정
multiDexEnabled 멀티덱스 활성화
shrinkResources 사용하지 않는 리소스 삭제
빌드타입별로 리소스 클래스 대체 가능
프로덕트 플레이버(구현 자체를 바꾸거나 별도의 apk 생성 : 유무료 버전)
applicationId 어플리케이션 ID
Dimension 여러 프로덕트 플레이버 apk 생성 가능
generatedDensities vector drawable에서 생성되는 이미지 화면 밀도 지정
manifestPlaceholders , multiDexEnabled , proguardFiles , signingConfig
testApplicationId 테스트용 어플리케이션 ID
versionCode , versionName
android 내에 productFlavors{ pro{} free{} }
프로덕트 플레이버와 빌드타입 혼합가능 3*2=6
gradlew assembleDebug , assembleRelease 프로젝트/app/build/에 apk생성
buildConfigField "boolean", "ENABLE_DEBUG_TOOLS", "false" 디펄트컨픽에 추가
debug에만 true로 하면 디버그시에만 디버그 툴 사용
gradlew assembleDebug(assDeb) --debug --stacktrace
build.gradle에
if(hasProperty("myparameter")){ println "My Parameter: "+myparameter }
gradlew assembleDebug -Pmyparameter=test
My Parameter : test
gradlew androidDependencies 의존관계 확인
'개발정보 > 안드로이드' 카테고리의 다른 글
안드로이드 개발 레벨업 교과서 8장 UI Test (0) | 2019.01.15 |
---|---|
안드로이드 개발 레벨업 교과서 7장 Unit Test (0) | 2019.01.15 |
안드로이드 개발 레벨업 교과서 5장 MVP, MVVM (0) | 2019.01.08 |
안드로이드 개발 레벨업 교과서 4장 Support Library (0) | 2019.01.08 |
안드로이드 개발 레벨업 교과서 3장 ContentProvider, BroadCastReceiver (0) | 2019.01.08 |