◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/アプリ開発
◇ アプリ開発/2026-10-18中級

debug では動くのに、release の起動だけ「見つからない」で落ちました。名前の文字列で引いていた資源が、縮小で消えていたためです

release ビルドだけ、起動時に資源が見つからず落ちる。原因は、名前の文字列で引いていた画像や音がリソース縮小で消えていたことでした。keep.xml を prebuild で書き出す設定と、ビルド後に確かめる検査を組みました。

Expo220Android56リソース縮小keep.xmlトラブルシューティング88

✦ プレミアム記事

debug では何度起動しても落ちなかったのに、release にした途端、起動の直後で止まってしまいました。壁紙アプリの Android 版での出来事です。ログには「見つからない」という趣旨の一行だけが残っていました。

コードは、debug で動いていたものと一文字も違いません。違っていたのはビルドの種類だけです。それで最初は、署名や難読化の設定を疑って、見当違いの場所を先に掘ってしまいました。

debug で動いたという事実は、release で動くことの証拠にならない場合があります。 今回の落ち方は、その典型だったと感じています。この記事は、個人開発のアプリで実際に踏んだこの症状を、Expo のプロジェクトに置き換えて、原因の見分け方と直し方、そして再発させない検査までを書き残したものです。

症状から、疑う順番を決める

release だけで落ちる原因は、大きく二つに分かれます。コードが縮められて消えた場合と、資源(画像・音・XML など)が縮められて消えた場合です。見分けるには、落ちたときのメッセージを読みます。

ログに出る言葉疑う先最初にやること
ClassNotFoundException、NoSuchMethodErrorコードの縮小(R8)mapping.txt で名前を引き、keep ルールを足します
Resources$NotFoundException、資源 ID が 0 になる資源の縮小その資源を「名前の文字列」で引いていないかを探します
どちらも出ず、画面が真っ白JS バンドル側この記事の範囲ではありません

コードのほうは、R8 が既定になる前に取っておく計測値の記事で触れた範囲です。この記事が扱うのは、二行目の資源のほうです。

なぜ debug では起きないのか

リソース縮小は、release ビルドで、コードの縮小が有効なときだけ働きます。debug では縮小が走りませんので、使われていないように見える資源も、そのまま入っています。つまり debug の挙動は、縮小という工程を一度も通っていないのです。

縮小は、コードの中から「参照されている資源」を静的に探します。R.raw.notify_chime のように、定数として書かれた参照は見つかります。見つからないのは、実行時に名前を文字列として組み立てて引く場合です。

公式のドキュメントには、img_%1d のような書式文字列があると、img_ で始まる資源をまとめて使用中と見なす、とあります。逆に言えば、名前をサーバーの応答や設定ファイルから受け取って引く形は、コード中に手掛かりとなる文字列定数が現れませんので、守られません。

私のアプリで落ちたのも、同じ型でした。debug では入っていた素材が、release では縮小で不要と判断されて消え、起動時に「見つからない」で止まったのです。直し方は、消えてほしくない資源を保持の指定で守ることでした。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦自分の Expo プロジェクトの中から、名前の文字列で引いている画像や音を洗い出し、release で消える側に入っていないかを出荷前に点検できるようになります
✦prebuild をやり直しても消えない keep.xml を設定プラグインで書き出し、リソース縮小を止めずに、守りたい資源だけを残せるようになります
✦debug では絶対に再現しない種類の落ち方を、ビルド後の検査一本で先回りして見つけ、実機で一台ずつ起動して確かめる時間を省けるようになります
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

◇ アプリ開発2026-10-15
EAS Build だけ「No matching variant」で落ちるとき、まず疑う手元の android/build
手元の Gradle は通るのに、EAS Build の Android だけが「No matching variant of project」で止まる。GitHub の報告を読み比べ、Windows で生成した autolinking のキャッシュが Linux のビルド機へ渡っていた経路と、ビルドを投げる前に確かめる診断スクリプトをまとめました。
◇ アプリ開発2026-10-15
adjustsFontSizeToFit で特定の1行だけ極小になるとき、疑うのは文字列ではなく枠の高さです
一覧の10行目だけ文字が4ptまで縮む。データも文字列も正常なのに起きる iOS の症状を、Yoga の丸めと縮小判定のソースで確かめ、Node で再現率を数えた記録です。
◇ アプリ開発2026-10-14
App Review で「Guideline 2.1・白い画面」と言われたとき、Expo のリリースビルドで疑う3か所
TestFlight では開くのに、審査では「起動後に白い画面のまま」と差し戻される。Expo + EAS のリリースビルドで、環境変数の environment、secret の可視性、審査員の環境差の3点を順に切り分ける手順を、確認コマンドと診断コードつきでまとめました。