Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AABに移行したいだけなのに
Search
rui
October 14, 2026
Technology
28
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AABに移行したいだけなのに
rui
October 14, 2026
Other Decks in Technology
See All in Technology
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
710
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
710
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
160
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
110
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
370
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
WasmをRustにする
sansantech
PRO
0
220
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
260
USB PDを使ってスマホを労わりたい
raspython3
0
170
Loop Engineering, beyond prompt, context, and harness engineering
glaforge
0
110
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Balancing Empowerment & Direction
lara
6
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Building an army of robots
kneath
307
47k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Unsuck your backbone
ammeep
672
58k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
Transcript
AABに移⾏したいだけなのに 2026/10/02 セーフィー株式会社 河原 颯太
⾃⼰紹介 河原 颯太| Sota Kawahara 開発本部 アプリケーション開発部 モバイルグループ • •
• Androidエンジニア Safie Viewer(セーフィー ビューアー)開発担当 去年はDroidKaigi, 今年はiOSDCに参加 #⽝ #卓球 #FPS #シャドバ © Safie Inc.|2
Androidアプリの配布形式 Androidアプリの配布形式(Google Playへのアップロード形式)は2種類存在 従来形式 現在の標準 APK (Android Package) AAB (Android
App Bundle) Androidアプリの配布‧インストール形式。 Google Playに上げる素材バンドル。Google Play 側で端末毎に最適化したAPKを⽣成して配信 1ファイルで端末に直接⼊る - ダウンロードサイズの削減 (平均15%) インストール‧更新の⾼速化 新規アプリはAABでのアップロード必須 © Safie Inc.|3
Google Playからユーザーに配布する流れ (AAB) 開発者 (PC) Google Play AAB
🔑 アップロード鍵 🔑 アプリ署名鍵 ‧開発者が秘密鍵を保持 ‧Googleが秘密鍵を安全に管理 ‧AABファイルへ署名してアップ ロードに使⽤ ‧AABから⽣成したAPKへ再署名 して配布 ユーザーの端末 APK 最適化されたAPK 端末仕様に合った最⼩構成 のAPKを⾃動受信 開発者がGoogle Playに上げるのが AAB ∕ ユーザーに届くのが APK © Safie Inc. | 4
Safie Viewerでは • Android版Safie Viewerは2015年に1stリリース ◦ 当時からAPK形式での配布を継続中 2015年 2021年8⽉ 現状
Android版Safie Viewerリリース 新規アプリはAAB必須に APK形式での配布を継続中 配布形式はAPK © Safie Inc.|5
よし、AABに移⾏しよう © Safie Inc.|6
下準備:AAB配信までの下準備 Step 1 AABをビルド Step 2 アプリ署名鍵の登録 Step 3 Google
Playへ配信⽤準備 ‧アップロード鍵(.jks)作成 ‧署名付き.aabを⽣成 ‧Consoleの署名設定を開く ‧既存署名鍵をGoogleへ預託 ‧CI/CD(GitHub Actions)対応 ‧.aabの⾃動ビルド&デプロイ ⚠ ここで問題発⽣ © Safie Inc.|7
アプリ署名鍵の登録⼿順 Google Play Console -> Google Play による保護 -> アプリ署名鍵の保護
を選択 ← 既存ユーザーは 「既存鍵で署名されたアプリ」 を使⽤中のためこちらを選択 © Safie Inc.|8
アプリ署名鍵が受理されない 秘密鍵が正しく暗号化されていない、またはサポートされていない種類です と表⽰ 既存鍵をそのまま使うことができなかった。なぜ? → keytoolコマンドを叩いてみたところ、原因発覚 # keytool -list -v
Signature algorithm: SHA1withRSA Public key: RSA 1024-bit Play要件は RSA 2048bit以上 → リリース以来使⽤していた既存鍵はアプリ署名鍵として受理不可 → 鍵を新しく作る必要がある © Safie Inc.|9
対処⽅針 RSA 2048bitの新鍵を⽣成した後、 apksignerでproof-of-rotationを⽣成することで新鍵と旧鍵を紐付ける 新しい鍵が古い鍵と同様に信頼 されるべきであるという証拠 proof-of-rotation 旧鍵 新鍵 RSA
1024bit / SHA1 RSA 2048bit / SHA256 × 単純に新しい鍵を作るだけだと署名が変わり、 既存ユーザーが更新できなくなる ◦ 旧→新を引き継ぐ proof-of-rotation があれば、 既存ユーザーも更新できる © Safie Inc.|10
「新しいアプリ署名鍵を使⽤する」を選択 新しい鍵を作ったので選択を変更する ↑ こちらを選択し、⽣成した proof-of-rotationと共に アップロード © Safie Inc.|11
これにて万事解決! © Safie Inc.|12
とはならず... © Safie Inc.|13
⼀難去ってまた⼀難 使⽤されている暗号鍵の有効期限が切れています。新たに⽣成した暗号鍵を使⽤してください。 と表⽰されエラー ←暗号鍵はブラウザ上から ダウンロード © Safie Inc.|14
「期限切れ」なのに同じ鍵しか出ない 1回⽬DL : 4983cbb5… ✕ なのにDLできる鍵は毎回同じ ↓ 再試⾏DL : 念のため
サポートへ問い合わせ ⽅針は合ってる? 原因は? 4983cbb5… △ ↑ キャッシュクリア、再ログイン、別ブ ラウザなどを試しても変わらず... 「暗号鍵の有効期限が切れています」 ⽅針は正しいとサポートから回答 でも期限切れ側は有効な回答は得られず ↓ 1週間ほど期間を空けて再実⾏ Play側の暗号鍵が⾃然ローテーション ✓ 成功 © Safie Inc.|15
ようやく登録完了! AAB移⾏の準備が整いました🎉 © Safie Inc.|16
まとめ‧学び • AAB移⾏を試みたところ、思わぬ躓きが発⽣ ◦ 原因はリリース当初(10年以上前)に⽣成した署名鍵だった -> 新規鍵へ置き換え ◦ 署名鍵を変更したためMaps APIキーのSHA制限などの再登録も必要(本LTではスコープ外)
• 古いリソースが技術的負債になっていないかは適宜確認したい ◦ 署名鍵の場合: keytoolコマンドを利⽤して規格を確認 • サポートも万能ではない ◦ コミュニケーションの制限上、問題の直接的な解消を⽬指すのは難しい ◦ 状況を詳細に共有し、対応⽅針として問題ないか。という観点で確認することが重要 • 最終的に理不尽はある😭 ◦ 問い合わせ含め、期間を空けて再試⾏したことにより問題が解消 ◦ 前例の無い作業は時間に余裕を持って対応したい © Safie Inc.|17
ご清聴ありがとうございました Thank you! © Safie Inc.|18