as

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

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

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

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

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

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

解決策:

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

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

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

    • Kepler CLIを使用する場合:

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

      react-native run-vega    
      
    • 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:[KeplerScript-Native] Exception occurred in MessageQueue::runAsync: 
    [Property '__d' doesn't exist
    ReferenceError: Property '__d' doesn't exist at global
    
  4. これらのエラーが表示された場合は、システムのJSバンドルを無効にしてアプリを再ビルドします。

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

     react-native build-vega --use-system-js-bundles false
    

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

原因: アプリがバックグラウンドで実行されているか、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パッケージが原因で発生する問題を探します。
    • Metroサーバーは、エラーが発生するに従ってエラーを表示します。
  2. コード内でエラーを修正します。
    • Metroサーバーは、変更のたびにバンドルを自動的に再ビルドします。
    • エラーを修正すると、Metroサーバーによってバンドルが作成されます。

「開いているファイルが多すぎる」というエラーでビルドが失敗する

原因: これはWatchmanファイル監視システムの既知の問題で、Mac M1ユーザーに影響があります。WatchmanはMetroバンドラーによって使用されます。

解決策: Watchmanを再インストールします。

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

brew reinstall watchman
watchman shutdown-server; watchman watch-del-all; watchman

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

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

解決策:

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

Last updated: 2025年9月30日