Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
sabotage
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yoppie
May 27, 2019
Technology
1
970
sabotage
yoppie
May 27, 2019
Tweet
Share
More Decks by yoppie
See All by yoppie
AmperとFleetを使ったAndroidアプリ
yoppie
0
970
Androidエンジニアが Flutterでアプリを リリースするまでの苦悩
yoppie
0
540
Navigation Component 実践編
yoppie
1
280
FragmentContainerViewとは
yoppie
0
780
Recent tips collection
yoppie
0
1k
Distribute Android app updates with bitrise
yoppie
0
1.4k
EC2 using Lumen and DynamoDB and SNS
yoppie
1
280
Play with Kotlin
yoppie
1
630
Other Decks in Technology
See All in Technology
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
240
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
180
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
700
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
Agile Leadership Summit Keynote 2026
m_seki
1
690
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
370
プロポーザルに込める段取り八分
shoheimitani
1
700
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
620
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
160
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Six Lessons from altMBA
skipperchong
29
4.2k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Git: the NoSQL Database
bkeepers
PRO
432
66k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
We Have a Design System, Now What?
morganepeng
54
8k
Transcript
͞΅͖ͬͯͨ͜ͱ
Facebook hi.kowaii.de / Twitter @yoppie_x Github yoshiya12X / Qiita yoppie_x
ϒϩά https://yoppiex.hatenablog.com/ yoppie
20134݄ - 20153݄ େֶͰιϑτΣΞֶ • High Impact Bugͷݚڀ • Androidʹؔ͢Δݚڀ
20154݄ - 20173݄ େֶӃͰιϑτΣΞֶ WebΞϓϦͱAndroidΞϓϦͷ डୗ։ൃͱόΠτ 20174݄ - 20195݄ ͙ΔͳͼͰαʔόʔαΠυ झຯͰAndroid 20196݄ ~ ϑϦʔϥϯε
20134݄ - 20153݄ େֶͰιϑτΣΞֶ • High Impact Bugͷݚڀ • Androidʹؔ͢Δݚڀ
20154݄ - 20173݄ େֶӃͰιϑτΣΞֶ WebΞϓϦͱAndroidΞϓϦͷ डୗ։ൃͱόΠτ 20174݄ - 20195݄ ͙ΔͳͼͰαʔόʔαΠυ झຯͰAndroid 20196݄ ~ ϑϦʔϥϯε
Engineer Blogs
࠷ۙνʔϜʹͳͬͨ
͞΅͖ͬͯͨ͜ͱ • CI/CDڥ • ΞφϦςΟΫε • Lint • ςετίʔυ
͞΅͖ͬͯͨ͜ͱ • CI/CDڥ • ΞφϦςΟΫε • Lint • ςετίʔυ
CI/CDڥ
ΞοϓσʔτΛ • νʔϜʹͳͬͨ͜ͱʹΑΓɺ ։ൃͨ͠ΞοϓσʔτΛϝϯόʔʹ͢Δ ඞཁੑ͕Ͱͨ • ͬͨͷ Bitrise, DeployGate
·ͰͷྲྀΕ 1. git pushͰมߋΛpush 2. BitriseͷWorkflowൃՐ 1. AndroidϓϩδΣΫτͷBuild 2. DeployGateΞοϓϩʔυ
ϦϙδτϦͱBitriseΛඥ͚ͮΔ 1. Add New AppϘλϯΛԡԼ 2.
SET PRIVACY OF THE APPͰʮPrivateʯ or ʮPublicʯΛબ 3. Github, Bitbucket, GitLab, Other/Manual͔Βରͱ͢Δ ϦϙδτϦΛબ
4. Setup repository accessͰೝূํ๏Λઃఆ 5. Choose branchͰݕূͱηοτΞοϓΛ͢ΔͨΊͷ branchΛࢦఆ
ଘࡏ͠ͳ͍branchΛࢦఆ͢Δͱ ࣍ͷεςοϓͷValidating repositoryͰౖΒΕΔ
6. Validate͕௨Δͱ࣍ͷεςοϓͷ Project build configuration͕ࣗಈͰग़ྗ͞Ε BitriseͷԸܙΛड͚Δ͜ͱʹͳΔ
7. ઃఆΛฤू͠ConfirmϘλϯΛԡ͢ͱΞΠίϯΛઃఆ͢Δ ఔʹөΔͷͰΞϓϦͷΞΠίϯͳͲΛࢦఆ 8. Webhook setupͰgit pushΛτϦΨʔʹWorkflowΛ ൃՐͤ͞Δઃఆ
Register a Webhook for me!ͱ͍͏ϘλϯΛΆͪΔ͚ͩ
σϑΥϧτͰ༻ҙ͞Εͨ Workflow
AndroidϓϩδΣΫτͷBuild Workflowʹ͋Δ+ϘλϯͰAndroid BuildΛՃ
DeployGateΞοϓϩʔυ AndroidBuildޙʹDeployGate UploadΛՃ DeployGate UploadͰࡉ͔͘ઃఆ
• Version always latest • DeployGate: API Key 1. DeployGateͷϓϩϑΟʔϧϖʔδʹ͋ΔAPI
keyΛίϐʔ 2. ೖྗ͠Α͏ͱ͢ΔͱϞʔμϧ͕දࣔ͞Ε, Bitrise্Ͱѻ͏ άϩʔόϧมͱͯ͠ఆٛ͢ΔΑ͏ʹଅ͞ΕΔ 3. $DEPLOY_GATE_API_KEYΛ࡞͠ʮ1ʯͰίϐʔͨ͠ Λೖ
• DeployGate: Owner Name DeployGateͰ࣮ࡍʹ͍ͬͯΔΞΧϯτ໊Λఆٛ • App file path binary
file(APK file)ͷύεΛఆٛ Bitrise͕༻ҙ͍ͯ͠Δมʮ$BITRISE_APK_PATHʯΛ ॻ͘ͱ௨Δ • DeployGate: App Visibility ΞϓϦ໊ͱΞΠίϯͷදࣔΛࢦఆ
ΞφϦςΟΫε
Firebase AnalyticsΛಋೖ • ʮAndroidϓϩδΣΫτʹFirebaseΛՃ͢Δʯ ͱ͍͏FirebaseެࣜͷυΩϡϝϯτ https://firebase.google.com/docs/android/setup • AndroidStudio͔Βಋೖ
1. AndroidStudioͷ Tools>FirebaseΛ։͘
2. Analyticsͷ߲͔Β Connect to FirebaseΛԡ͢
3. 3ͷ֬ೝ߲ • Connect your app to Firebase͕Connectedʹͳ͍ͬͯΔ͜ͱ
• AndroidϓϩδΣΫτʹgoogle-services.json͕࡞͞Ε͍ͯΔ͜ͱ • Firebaseͷίϯιʔϧը໘ʹϓϩδΣΫτ͕࡞͞Ε͍ͯΔ͜ͱ
4. AnalyticsΛΞϓϦʹೖΕΔ 1. Add Analytics to your appΛϙνΔ
2. implementation 'com.google.firebase:firebase-core:16.0.4' ͕gradleʹՃ͞ΕΔͷͰ࠷৽ͷόʔδϣϯͷ ʮ16.0.8ʯʹमਖ਼
Lint
LintΛ࣮ߦ Lintͷ࣮ߦํ๏ෳ͋Γ·͕͢ Android Studio্Ͱ࣮ߦ͢Δͷ͕؆୯ Android 39 warnings Kotlin 10 warnings
2 infos Spelling 72typos XML 1 warning
XML 1 warning appΛ͓ͬͯΒͣ Namespace declaration is never usedͱͳ͍ͬͯͨ ʮxmlns:app="http://schemas.android.com/apk/res-auto"ʯ
Λআ
Spelling 72typos • ී௨ʹεϖϧϛε Entity Entitiy Thumbnail Thumnail • MoshiSthethoͱ͍ͬͨޠ
Android Studio > Preferences... > Spelling > Accepted Words
Kotlin 10 warnings 2 infos • Unused import directive import
android.util.Logফ͠Ε͕ͪ • Unused symbol ͍ͬͯͳ͍ϝιου͕͋Δͱ͍͏warning • privateԽ privateʹͰ͖Δͱ͜Ζprivateʹ͠Α͏
Android 39 warnings • ImageViewʹcontentDescription͕ͳ͍ ΞΫηγϏϦςΟ্ͷͨΊͷcontentDescription • layoutͷஔͷࢦఆํ๏ android:layout_marginLeft →
android:layout_marginStart • ඞཁͷͳ͍RelativeLayout This 'RelativeLayout' layout or its 'RelativeLayout' parent is useless; transfer the 'background' attribute to the other view
• ͍ͬͯͳ͍Ϧιʔεͷআ Unused resourcesͱ͍͏warning͕Ͱͨ Android Studio্Ͱ؆୯ʹফ͢͜ͱ͕Ͱ͖Δ (ґଘؔ֬ೝ͍ͯ͠ΔΑ͏ͩͬͨ)
Lintͷର֎ϑΝΠϧͷࢦఆ app/lint.xml app/build.gradle
͜Ε͔Β͜·Ίʹ Lint͠·͢ (ͨͿΜ)
Ҏ্Ͱ͢