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
38
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
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
150
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
150
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
350
GitHub、使う?使わない?
happysamurai294
0
140
スマートロックを支えるFlutter × ネイティブ連携の実践 / Flutter and Native Integration in Practice: Powering Smart Locks
bitkey
PRO
0
130
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
160
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
390
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
130
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.4k
LLMの知識とAIエージェント
happysamurai294
0
150
Featured
See All Featured
Everyday Curiosity
cassininazir
0
380
Designing for humans not robots
tammielis
254
26k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
670
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
880
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
600
It's Worth the Effort
3n
188
29k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
Abbi's Birthday
coloredviolet
4
11k
Mobile First: as difficult as doing things right
swwweet
225
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
910
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