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
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Signature
The best practice to deal with keystore and signature in the project.
Keishin Yokomaku
May 22, 2015
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
Base64 in Android
keithyokoma
0
54
One screen, many BottomSheets
keithyokoma
0
460
LazyColumnのitemがViewPortの中で占める領域の割合を知りたい
keithyokoma
0
750
Build apps for Cars
keithyokoma
0
590
Save the state
keithyokoma
0
630
Either in Kotlin
keithyokoma
0
650
持続的なアプリ開発のためのDXを支える技術
keithyokoma
2
5.6k
Make the objects serializable with kotlinx.serialization
keithyokoma
0
5.3k
Kotlin で書く Gradle Custom Tasks
keithyokoma
0
590
Other Decks in Technology
See All in Technology
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
170
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
340
はじめてのWDM
miyukichi_ospf
1
140
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
110
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
2.7k
AICoEでAIネイティブ組織への進化
yukiogawa
0
120
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
200
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
210
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
4.8k
Kaggleで成長するために意識したこと
prgckwb
1
250
生成AIの活用/high_school2026
okana2ki
0
120
Baseline対応のDOMの型定義を作った
uhyo
3
730
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
Site-Speed That Sticks
csswizardry
13
1.2k
RailsConf 2023
tenderlove
30
1.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
The Spectacular Lies of Maps
axbom
PRO
1
850
Mind Mapping
helmedeiros
PRO
1
280
Ruling the World: When Life Gets Gamed
codingconduct
0
280
Deep Space Network (abreviated)
tonyrice
0
220
WENDY [Excerpt]
tessaabrams
11
38k
エンジニアに許された特別な時間の終わり
watany
107
250k
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