as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

デバッグランタイムに関する問題

デバッグランタイムに関する問題

このページでは、アプリが正常にビルドされてもランタイムの実行時に失敗する場合に、よくある問題を解決するために役立つ情報を提供します。解決策がここで見つからない場合、開発者フォーラムに問題を投稿すれば追加のサポートを受けることができます。

Metroサーバーが起動に失敗する、または頻繁にクラッシュする

原因: ポートが競合しているか、キャッシュが壊れているか、システムリソースに制約があります。

解決策:

  1. Metroキャッシュを消去します。
    npx react-native start --reset-cache
    
  2. ポートが競合していないかどうかを確認し、別のポートを使用します。
    npx react-native start --port 8082
    
  3. 詳細ログを有効にしてMetroサーバーを再起動します。
    npx react-native start --verbose
    
  4. 問題が解決しない場合は、開発コンピューターを再起動してシステムリソースをクリアします。

アプリは正常にビルドされるが、デバイスに表示されない

原因: アプリがバックグラウンドで実行されているか、UIのレンダリングに問題があります。

解決策:

  1. 現在フォアグラウンドで動作しているアプリを確認します。

    クリップボードにコピーしました。

     vlcm list
    
  2. アプリがバックグラウンドにある場合は、フォアグラウンドに移行させます。

    クリップボードにコピーしました。

     vlcm trigger-app foreground -i <インスタンスID>
    
  3. バックグラウンドとフォアグラウンドを切り替えて更新します。

    クリップボードにコピーしました。

     vlcm trigger-app background -i <インスタンスID>
    vlcm trigger-app foreground -i <インスタンスID>
    

フォアグラウンドにしてもアプリが表示されない

原因: Metroサーバーで複数のアプリが実行されているか、UIコードにエラーがあります。Metroサーバーを使用できるのは一度に1つのアプリのみです。

解決策:

実行中の複数のアプリをチェックする:

  1. Metroサーバーが実行されているターミナルで、Ctrl+Cキーを押してMetroサーバーを終了します。

  2. アプリを停止します。

    クリップボードにコピーしました。

     vega device terminate-app
    
  3. アプリを再起動します。

    クリップボードにコピーしました。

     vega device launch-app
    

UIコードのエラーを確認する:

  1. Metroサーバーの出力に、互換性のないReact Nativeパッケージが原因で発生したエラーがないか監視します。

  2. コード内のエラーを修正します。Metroサーバーは、変更のたびにバンドルを自動的に再ビルドします。

起動時にJavaScriptバンドルエラーでアプリがクラッシュする

原因: システムのJavaScriptバンドルが原因で競合が発生しています。アプリは、デバイスにもvlcm listの出力にも表示されません。ログには「Requiring unknown module」または「Property __d doesn't exist」というエラーが表示されます。

解決策:

  1. デバイスログをキャプチャします。

    vega device start-log-stream --device <デバイス名>
    
  2. 以下のいずれかのコマンドを使用してアプリを起動します。

    • Vega CLIを使用する場合:

      クリップボードにコピーしました。

      react-native run-app  
      
    • package.jsonのNPMスクリプトを使用する場合:

      クリップボードにコピーしました。

      npm run start:vega
      
  3. ログストリームにエラーパターンがないか監視します。

    以下は、この問題に関連する代表的なエラーの例です。

    「Requiring unknown module」エラー:

    Uncaught Error: Requiring unknown module "2827612701754778". If you are sure the module exists, try restarting Metro.
    

    「Property '__d' doesn't exist」エラー:

    E Volta:[VegaScript-Native] Exception occurred in MessageQueue::runAsync: 
    [Property '__d' doesn't exist
    ReferenceError: Property '__d' doesn't exist at global
    
  4. 実行中のターミナルでCtrl+Cを押してMetroサーバーを停止します。

  5. Metroキャッシュを消去して再起動します。
    npx react-native start --reset-cache
    
  6. アプリを再ビルドして再起動します。

    エラーが続く場合は、競合するシステムバンドルがないか確認してください。詳細については、システムバンドルの問題により、アプリがクラッシュするか、空白の画面が表示されるを参照してください。

システムバンドルの問題により、アプリがクラッシュするか、空白の画面が表示される

原因: システムバンドルがないか、正しく設定されていません。デフォルトのバンドル分割動作をオーバーライドするレガシーフラグがアプリに設定されている可能性もあります。システムバンドルがない場合、通常、デバイスのOSバージョンがアプリのビルドに使用されたSDKバージョンと一致していません。

解決策:

  1. アプリのルート(メインのpackage.jsonがある場所)で次のコマンドを実行して、キャッシュを消去し、依存関係を更新します。

    手順 npm Yarn PNPM
    キャッシュを消去する npm cache clean --force yarn cache clean --all pnpm cache delete
    Metroキャッシュをリセットする npm start -- --reset-cache yarn start -- --reset-cache pnpm start -- --reset-cache
    ビルドアーティファクトを消去する npm run clean yarn clean pnpm clean
    dependenciesの更新 npm update yarn upgrade pnpm update
  2. 次のコマンドを実行して、アプリがシステムバンドルを使用しているかどうかを確認します。

    vega exec vpt dump {path/to/vpkg} assets/raw/keplerscript-app-config.json > keplerscript-app-config.json
    
  3. keplerscript-app-config.jsonファイルを開きます。

  4. "systemBundles: {"セクションを探します。

  5. プロジェクトからレガシーのバンドル分割フラグを削除します。

    以前にバンドル分割をオプトアウトした場合でも、システムバンドルの正常な動作を妨げるフラグがプロジェクトに含まれたままになっている可能性があります。これらのフラグは不要です。SDK v0.20以降では、デフォルトでバンドル分割が有効になっています。

    • package.jsonで、"kepler"セクションからuseSystemJsBundlesを削除します。
    • ビルドスクリプトで、ビルドコマンドから--split-bundle false--use-system-js-bundlesを削除します。
  6. 問題が解決しない場合は、デバイスのOSバージョンがアプリのビルドに使用されたSDKバージョンと同じであることを確認してください。同じでない場合は、SDKを更新して再ビルドしてください。ビルド手順については、Vega Studioを使用したアプリのビルドを参照してください。

ビルド後のアプリにシステムバンドルのエントリが含まれていない

原因: アプリがデバッグモードでビルドされています。デバッグビルドでは分割バンドルは作成されないため、システムバンドルのエントリはリリースビルドにしか含まれません。

解決策: デバッグバージョンではなく、リリースバージョンのアプリをビルドして送信します。


Last updated: 2026年3月9日