O slideshow foi denunciado.

그레이들(Gradle)로 만드는 안드로이드 요리법

12

Compartilhar

Próximos SlideShares
20130709 gradle
20130709 gradle
Carregando em…3
×
1 de 35
1 de 35

그레이들(Gradle)로 만드는 안드로이드 요리법

12

Compartilhar

Baixar para ler offline

✔ 세미나 커리큘럼 확인하기: http://www.hanbit.co.kr/store/education/edu_view.html?p_code=S9897423756

안드로이드 빌드 시스템, 그레이들 실무를 위하여 필요한, 빌드 타입과 제품 특성에 대하여 알아본다.

[주요 내용]
1 빌드 타입 이해하기
2 제품 특성과 빌드 변형
3 제품 특성에 따라 리소스 병합하기
4 자바 소스 코드 병합하기

[목표]
- 빌드 타입과 제품 특성을 구별할 수 있다.
- 내 프로젝트에 제품 변형(빌드 타입 + 제품 특성)을 적용해볼 수 있다.
- 제품 변형을 활용하여 고객 요구 사항에 맞게 이미지 등의 리소스를 다르게 할 수 있다.
- 제품 변형을 활용하여 고객 요구 사항에 맞게 소스 코드의 일부를 다르게 할 수 있다.

✔ 세미나 커리큘럼 확인하기: http://www.hanbit.co.kr/store/education/edu_view.html?p_code=S9897423756

안드로이드 빌드 시스템, 그레이들 실무를 위하여 필요한, 빌드 타입과 제품 특성에 대하여 알아본다.

[주요 내용]
1 빌드 타입 이해하기
2 제품 특성과 빌드 변형
3 제품 특성에 따라 리소스 병합하기
4 자바 소스 코드 병합하기

[목표]
- 빌드 타입과 제품 특성을 구별할 수 있다.
- 내 프로젝트에 제품 변형(빌드 타입 + 제품 특성)을 적용해볼 수 있다.
- 제품 변형을 활용하여 고객 요구 사항에 맞게 이미지 등의 리소스를 다르게 할 수 있다.
- 제품 변형을 활용하여 고객 요구 사항에 맞게 소스 코드의 일부를 다르게 할 수 있다.

Mais Conteúdo rRelacionado

Audiolivros relacionados

Gratuito durante 14 dias do Scribd

Ver tudo

그레이들(Gradle)로 만드는 안드로이드 요리법

  1. 1. 그레이들 레시피 유동환 RealTime 세미나 3 세미나 커리큘럼 확인하기 ››› 2017년 4월 27일 / 한빛미디어 1층 세미나실
  2. 2. Page 2 강사 소개 유동환 1. 2. 3. 4. 취미는 글쓰기(브런치) & 책읽기(2주한권독서클럽)5. “책쓰는 프로그래머 협회” 대표 운영진, “자바카페” 및 “한국 자바 개발자 협의회(JCO)”에서 활동했음 안드로이드 앱 개발자 <안드로이드를 위한 그레이들>(2016) 집필 <그레이들 레시피>(2016), <Professional Java Web Services>(2002) 번역 6. 주 언어는 자바
  3. 3. Page 3 목차 안드로이드 빌드 시스템 그레이들 실무를 위하여 1. 2. 3. 4. 라이브러리 모듈5. 테스트 그레이들 및 안드로이드 스튜디오 소개 저장소와 APK 서명 빌드 타입과 제품 특성 6. 외부 라이브러리 추가 RealTime 세미나 3 세미나 커리큘럼 확인하기 ›››
  4. 4. Page 4 4강 빌드 타입과 제품 특성 RealTime 세미나 3
  5. 5. Page 5 4강에서 배우는 내용 4.1 빌드 타입 이해하기 4.2 제품 특성과 빌드 변형 4.3 제품 특성에 따라 리소스 병합하기 4.4 자바 소스 코드 병합하기
  6. 6. 4강 학습목표 ▶ 빌드 타입과 제품 특성을 구별할 수 있다. ▶ 내 프로젝트에 제품 변형(빌드 타입 + 제품 특성)을 적용해볼 수 있다. ▶ 제품 변형을 활용하여 고객 요구 사항에 맞게 이미지 등의 리소스를 다르게 할 수 있다. ▶ 제품 변형을 활용하여 고객 요구 사항에 맞게 소스 코드의 일부를 다르게 할 수 있 다. Page 6
  7. 7. 4.1 빌드 타입 이해하기 ▶ 문제 › 디버그와 릴리즈 빌드 타입을 정의하고 필요한 경우 새로운 타입을 만들고 싶다. ▶ 해결 › 모듈 build.gradle 파일의 android 하위의 buildTypes 블록을 설정한다. Page 7
  8. 8. 4.1 빌드 타입 이해하기 ▶ 빌드 타입 기본 값 › release 타입 • Proguard 적용 FALSE Page 8 예제: ch01/MyAndroidApp
  9. 9. 4.1 빌드 타입 이해하기 ▶ 모듈 build.gradle 파일의 buildTypes 블록 › debug • applicationIdSuffix : 패키지 명에 접미사 추가 • versionNameSuffix : 버전 이름에 접미사 추가 Page 9 실습: ch03/MyAndroidApp
  10. 10. 4.1 빌드 타입 이해하기 ▶ 모듈 build.gradle 파일의 buildTypes 블록 › release • minifyEnabled : ProGuard(역컴파일방지) 적용 • shrinkResources : 불필요한 리소스 제거 (+minifyEnabled : true 필요) Page 10 실습: ch03/MyAndroidApp
  11. 11. 4.1 빌드 타입 이해하기 ▶ 확인하기 › ./gradlew :app:assemble › ls app/build/outputs/apk Page 11 실습: ch03/MyAndroidApp
  12. 12. 4.1 빌드 타입 이해하기 ▶ 확인하기 (aapt 확인) Page 12 실습: ch03/MyAndroidApp
  13. 13. 4.1 빌드 타입 이해하기 ▶ 확인하기 (aapt 확인) › aapt d badging app-debug.apk › aapt d badging app-release-unsigned.apk › applicationId가 다르므로 두 APK를 한 기기에 설치 가능 Page 13 실습: ch03/MyAndroidApp
  14. 14. 4.2 제품 특성과 빌드 변형 ▶ 문제 › 본질적으로 같은 애플리케이션이지만, 상황에 맞게 리소스나 소스 코드를 다르게 하고 싶다. ▶ 해결 › 제품 특성을 활용하여 같은 애플리케이션을 상황에 맞는 다른 버전으로 생성한다. Page 14
  15. 15. 4.2 제품 특성과 빌드 변형 ▶ 제품 특성 정의하기 › android > productFlavors 블록 › 오만한 (arrogant) › 친절한 (friendly) › 아부하는 (obsequious) Page 15 실습: ch03/HelloWorld
  16. 16. 4.2 제품 특성과 빌드 변형 ▶ 제품 특성 정의하기 (빌드속성) › applicationId : package name › minSdkVersion › targetSdkVersion › versionCode › versionName › signingConfig Page 16 실습: ch03/HelloWorld
  17. 17. 4.2 제품 특성과 빌드 변형 ▶ 제품 특성별 리소스 정의하기 › arrogant › friendly › obsequious ▶ 리소스 › animal.png › strings.xml ▶ main 이 기본임 Page 17 실습: ch03/HelloWorld  Project View
  18. 18. 4.2 제품 특성과 빌드 변형 ▶ 제품 특성별 소스 코드 정의하기 › app/src/arrogant/java › app/src/friendly/java › app/src/obsequious/java ▶ main 이 기본임 › app/src/main/java Page 18 실습: ch03/HelloWorld
  19. 19. 4.2 제품 특성과 빌드 변형 ▶ 사용 가능한 빌드 변형을 모두 출력하는 사용자 정의 태스크 Page 19 실습: ch03/HelloWorld
  20. 20. 4.2 제품 특성과 빌드 변형 ▶ 안드로이드 스튜디오의 Build Variants 뷰 Page 20 실습: ch03/HelloWorld
  21. 21. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ 문제 › 제품 특성에 맞게 이미지와 텍스트, 다른 리소스를 변경하고 싶다. ▶ 해결 › 제품 특성에 맞는 리소스 디렉터리를 추가하여 필요한 파일을 복사하고 적절한 값으로 변경한다. Page 21
  22. 22. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ 제품 특성 정의하기 › applicationId를 다르게 함 Page 22 실습: ch03/HelloWorld
  23. 23. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ MainActivity 클래스 소스 코드 Page 23 실습: ch03/HelloWorld
  24. 24. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ activity_main.xml 레이아웃 파일 Page 24 실습: ch03/HelloWorld
  25. 25. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ arrogant(Stark) 제품특성으로 애플리케이션 실행하기 Page 25 실습: ch03/HelloWorld
  26. 26. 4.3 제품 특성에 맞는 리소스 병합하기 ▶ WelcomeActivity 클래스 ▶ activity_welcome.xml 레이아웃 Page 26 실습: ch03/HelloWorld
  27. 27. 4.4 자바 소스 코드 병합하기 ▶ 문제 › 제품 특성별로 액티비티나 자바 클래스와 같은 소스 코드를 다르게 하고 싶다. ▶ 해결 › 적절한 소스 디렉터리를 추가하고 main 소스 세트와 병합할 수 있게 구성한다. Page 27 사용할 때 주의해야 하며 권장사항은 아님!!
  28. 28. 4.4 자바 소스 코드 병합하기 ▶ main, stark, wayne 제품 특성을 위한 소스 디렉터리 ▶ 왜 이렇게 복잡해보일까? Page 28 실습: ch03/HelloWorld
  29. 29. 4.4 자바 소스 코드 병합하기 ▶ arrogantStark ▶ friendlyWayne Page 29 실습: ch03/HelloWorld
  30. 30. 4.4 자바 소스 코드 병합하기 ▶ Stark > activity_call_for_help.xml ▶ Wayne > activity_call_for_help.xml 실습: ch03/HelloWorld
  31. 31. 4.4 자바 소스 코드 병합하기 ▶ Stark > CallForHelpActivityFragment.java 실습: ch03/HelloWorld
  32. 32. 4.4 자바 소스 코드 병합하기 ▶ Wayne > CallForHelpActivityFragment.java실습: ch03/HelloWorld
  33. 33. 4.4 자바 소스 코드 병합하기 ▶ 생각해보기 1. 만약에 main에 CallForHelpAcitivityFragment.java 파일을 넣으면 어떻게 될까? 2. CallForHelpActivity.java는 Stark와 Wayne이 동일하다 만약 main으로 이동하면 어떻게 될까? 3. 실무에서는 어떻게 활용할 수 있을까? 실습: ch03/HelloWorld
  34. 34. 강연 + 실습, 그레이들 레시피 제대로 알려드립니다! 세미나 커리큘럼 확인하기 ››› http://www.hanbit.co.kr/store/education/edu_view.html?p_code=S9897423756
  35. 35. 세미나 커리큘럼 확인하기 ››› http://www.hanbit.co.kr/store/education/edu_view.html?p_code=S9897423756 그레이들 레시피 RealTime 세미나 3 2017년 4월 27일, 한빛미디어 1층 세미나실에서 만나요!

×