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
Signature
Search
Keishin Yokomaku
May 22, 2015
Technology
1
390
Signature
The best practice to deal with keystore and signature in the project.
Keishin Yokomaku
May 22, 2015
Tweet
Share
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
Base64 in Android
keithyokoma
0
21
One screen, many BottomSheets
keithyokoma
0
390
LazyColumnのitemがViewPortの中で占める領域の割合を知りたい
keithyokoma
0
660
Build apps for Cars
keithyokoma
0
530
Save the state
keithyokoma
0
570
Either in Kotlin
keithyokoma
0
590
持続的なアプリ開発のためのDXを支える技術
keithyokoma
2
5.2k
Make the objects serializable with kotlinx.serialization
keithyokoma
0
5.1k
Kotlin で書く Gradle Custom Tasks
keithyokoma
0
550
Other Decks in Technology
See All in Technology
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.2k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
9
72k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
410
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
250
2025年夏 コーディングエージェントを統べる者
nwiizo
0
160
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
130
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
190
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Being A Developer After 40
akosma
90
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Automating Front-end Workflow
addyosmani
1370
200k
Optimizing for Happiness
mojombo
379
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Transcript
Signature @KeithYokoma - Drivemode, Inc. Shibuya.apk #1
KeithYokoma Keishin Yokomaku Drivemode, Inc. Android Engineer GitHub: https://github.com/KeithYokoma Qiita:
http://qiita.com/KeithYokoma e-Book: http://amzn.to/1mZNydv
None
Keystore • Containing “Key” and “Certification” • Every applications are
signed with keystore • The same applications are signed with the same keystore
• Valid until … • Store password: … • Key
alias: … • Key password: … • Owner informations … Keystore
debug.keystore release.keystore Signing app-debug.apk app-release.apk
The problem
The problem Where should we put the keystore?
None
• Possibility to lost keystore files • Who remembers password?
• Manual operation to share keystore files • Dull to copy them by hand Shared drive?
Shared drive? Yuck!
Put keystores in the repository
Repository • No chance to lost(we have a history!) •
Quick set up build env with just cloning • Note: Safe to share them in PRIVATE repo
None
Wait, how do we share keystore password?
Keystore password • Use `echo something_seed_value | md5` • Set
it as ENV value ‘export KSTOREPWD=…’ • Read ENV value from build.gradle
build.gradle android { signingConfigs { release { storePassword System.getenv("KSTOREPWD") keyPassword
System.getenv(“KEYPWD”) } } }
Looks Good To Me
Signature @KeithYokoma - Drivemode, Inc. Shibuya.apk #1