SlideShare una empresa de Scribd logo
1 de 34
Automations with Gradle
FiNC Inc Yuki Nanri
Introduction
Problems
Automations
Summary
~table of contents~
Introduction
• Yuki Nanri (@neonankiti)
• Android Developer in FiNC.
FiNC App
• Data Collection -> Analysis -> Solution -> EC
• Wellness Value Chains to make people change
Wellness
Survey
Genetic
Blood
Testing
Survey+
Testing
Analysis
Report
Personalized
Solutions & Contents
Experts
Advice
SNSKnowledge
Walk with taking a full swing
3 times Stretch
Scapla stretch 3 times
Vegetables at every meals
Drink water more than 1L
a day
Take a Yogurt in the
morning
• Comprehensive
Results
• Body and mental
status
• Behavior
• Risk of daily habit
tasks
• Recomendation etc.
Fitness Task
FiNC
STORE
Get
Points
• Order made・
Personal
supplement
• Drink
• Smoothy etc.
Points
available in
FiNC app
Adapt PointsReport
Tourism
Healthy
Contents
etc.
Meals Task
Squat 10 timesx3
10 minutes walk Leave half of rice
Start from vegetables at
every meals
Problems
Product Development Process wasn’t not Good
Especially Distribution
・manually change the pointed situations (staging, production)
・QA team used to ask us everyday distribution.
Solutions
・Buying a high spec machine.
・Ignoring QA team
・Automation
What I want to share
How to build apk files quickly with flavor and build types
Gradle
・Gradle is build tool written by Groovy.
・Gradle supports Maven repository.
Gradle
How to use
Components
・Product Flavor
・Build Type
・Signing Config
・Configuration
http://google.github.io/android-gradle-dsl/current/
This is require configurations
Product Flavors
Product flavor is used in the situations where you want to create
“freemium” or “premium” app
Build Types
Each build type can choose signingConfig for release and debug
Signing Configs
When you build, you need to sign with keystore file like below.
(Release keystore files should be stored securely. )
Configurations
Configurations are combinations of ”Flavor” and “Build Types”
Configurations
But
When we try to install these different flavors,
it’ll cause conflicts
Why?
The same package name cannot exist at the same time
Where?
But the package name is written in Android.Manifest, and looks constraints.
Beforehand
The documents says
・Your device and Google Play Store look at your “Application id”
・Package in manifest is the one just for referring your R classes.
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
So What?
Change the Application id in build.gradle
Product Flavors
You can change to whatever you like.
Build Types
Add prefix or suffix for debug build.
Output apks
All items exist simultaneously.
Further more
In some app, it still causes conflicts.
Why?
Provider Authorities conflicts
Why?
Provider’s authorities must be unique.
What?
Authorities in manifest also should be variable.
How?
Set the key value data sets
How?
Use it as variants
Summary
・Gradle has potential to replace your manual work.
・Application ID must be unique.
・Provider also must be unique.
Things I cannot tell
・I didn’t have enough time to share automation parts
・Next Part
・Automated Distribution with Fabric
・Connected JIRA tickets and Github with apis
Thank you

Más contenido relacionado

Destacado

Destacado (20)

アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術 アメーバブログを支えるデータセンターとインフラ技術
アメーバブログを支えるデータセンターとインフラ技術
 
Continuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build ServerContinuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build Server
 
無限ループビルダーズ @ Zohyo Meetup #3
無限ループビルダーズ @ Zohyo Meetup #3 無限ループビルダーズ @ Zohyo Meetup #3
無限ループビルダーズ @ Zohyo Meetup #3
 
テストを書くのに挫折したあとやったこと
テストを書くのに挫折したあとやったことテストを書くのに挫折したあとやったこと
テストを書くのに挫折したあとやったこと
 
The First React on Rails
The First React on Rails The First React on Rails
The First React on Rails
 
雑兵デブエンジニアに起こった痛風という悲劇
雑兵デブエンジニアに起こった痛風という悲劇雑兵デブエンジニアに起こった痛風という悲劇
雑兵デブエンジニアに起こった痛風という悲劇
 
Sketchで変わるワークフロー
Sketchで変わるワークフローSketchで変わるワークフロー
Sketchで変わるワークフロー
 
アメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpringアメブロの大規模システム刷新と それを支えるSpring
アメブロの大規模システム刷新と それを支えるSpring
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Spc2015 36
Spc2015 36Spc2015 36
Spc2015 36
 
Spc2015 16
Spc2015 16Spc2015 16
Spc2015 16
 
Spc2015 06
Spc2015 06Spc2015 06
Spc2015 06
 
Spc2015 31
Spc2015 31Spc2015 31
Spc2015 31
 
Spc2015 27
Spc2015 27Spc2015 27
Spc2015 27
 
Spc2015 24
Spc2015 24Spc2015 24
Spc2015 24
 
Spc2015 48
Spc2015 48Spc2015 48
Spc2015 48
 
Spc2015 44
Spc2015 44Spc2015 44
Spc2015 44
 
Spc2015 56
Spc2015 56Spc2015 56
Spc2015 56
 
Spc2015 52
Spc2015 52Spc2015 52
Spc2015 52
 
Spc2015 51
Spc2015 51Spc2015 51
Spc2015 51
 

Similar a 20160915 automation with_gradle

Similar a 20160915 automation with_gradle (20)

An Introduction To Python - Functions, Part 1
An Introduction To Python - Functions, Part 1An Introduction To Python - Functions, Part 1
An Introduction To Python - Functions, Part 1
 
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
 
Is Agile Better
Is Agile BetterIs Agile Better
Is Agile Better
 
Automating Mobile Testing at Gilt with Appium
Automating Mobile Testing at Gilt with AppiumAutomating Mobile Testing at Gilt with Appium
Automating Mobile Testing at Gilt with Appium
 
Agile iOS
Agile iOSAgile iOS
Agile iOS
 
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
 
Project Management in 3 Slides
Project Management in 3 SlidesProject Management in 3 Slides
Project Management in 3 Slides
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Design your tests to behave - An introduction To BDD!
Design your tests to behave - An introduction To BDD!Design your tests to behave - An introduction To BDD!
Design your tests to behave - An introduction To BDD!
 
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
Change How You Do Product - by Tal Ben-Simon (ProductX 2018)
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
Why we use scrum
Why we use scrumWhy we use scrum
Why we use scrum
 
Satisfying your Automation Appetite
Satisfying your Automation AppetiteSatisfying your Automation Appetite
Satisfying your Automation Appetite
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Educate 2017: Today’s Special: Item versioning and dynamic content
Educate 2017: Today’s Special: Item versioning and dynamic contentEducate 2017: Today’s Special: Item versioning and dynamic content
Educate 2017: Today’s Special: Item versioning and dynamic content
 
DevOps Deconstructed
DevOps DeconstructedDevOps Deconstructed
DevOps Deconstructed
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
Aditdem
AditdemAditdem
Aditdem
 
Aditdem
AditdemAditdem
Aditdem
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

20160915 automation with_gradle

Notas del editor

  1. 今日はちょっとFiNC Appとは違う話をするよ。
  2. ・QA Distribution is so much time because gradle makes us wait for a long time
  3. Manual Distribution takes a lot of time. So I statrted to make it easy automatically. I didn’t have enough time, so today’s one is prologue
  4. Commonly build like ant. We don’t have to worry about libraries dependencies and management and additions.
  5. Commonly build like ant. We don’t have to worry about libraries dependencies and management and additions.
  6. Theare are some configurations available in Android Gradle.
  7. Product flavor is kind of Build types. You can easily image if you want to build some versions of app. Such as freemium, premium.
  8. Build types are common one, It’s mostly release and debug.
  9. ・Buildするときはkeystoreで署名しなければならない。 ・android/debug.keystoreのデフォルトパスはandroid ・もちろん自分独自のkeystoreは作れる。 -> releaseのkeystoreは一度失うと二度とGoogle Play Storeにあげられないから、大事に保管しておこう。
  10. ・flavorとdebugの組みあわせ
  11. Build variantsから簡単に選びたい
  12. ・パッケージnameはAndroid.manifestに書かれている。 ・問題はなに? ・Android manifest pacakge name isn’t changed. -> どうやって解決するか? ・パッケージネームを変数にする。 ・違う方法を探す。 How to solve this problems 1. To change the package name from constraints to variants. 2. To find a different way.
  13. These should have different packages in the Google Play store such that they can be installed and purchased separately both installed at the same time. The final package that is used in your built .apk's manifest, and is the package your app is known as on your device and in the Google Play store, is the "application id". The package that is used in your source code to refer to your R class, and to resolve any relative activity/service registrations, continues to be called the "package".
  14. ・flavorだけでなく、リリースとデバッグでもapplication IDをわけないとインストールできないので
  15. ・名前も変えれる。String resouceにセットすることで。
  16. As
  17. ・認証局が必要で。その認証局はunique, ・それはcontent providerにアクセスするためのURIであればよい。
  18. Build gradleで変数を定義すれば、AndroidManifestでも同じように使える。
  19. As
  20. As
  21. As
  22. Manual Distribution takes a lot of time. So I statrted to make it easy automatically. I didn’t have enough time, so today’s one is prologue