Upload
yuki-nanri
View
878
Download
0
Embed Size (px)
Citation preview
Automations with Gradle
FiNC Inc Yuki Nanri
IntroductionProblemsAutomationsSummary
~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
WellnessSurvey
Genetic Blood
Testing
Survey+Testing
AnalysisReport
PersonalizedSolutions & 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
TourismHealthyContents
etc.
Meals Task
Squat 10 timesx 3
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