Amazon Developer

as

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

開発者モードの有効化

開発者モードの有効化

開発者モード(「devモード」とも呼ばれる)では、ネットワークまたはUSBインターフェイス経由で開発者シェルとVDA(Vega Device Adapter)を介して、アプリのサイドロードやコンポーネントのデバッグを行ったり、Fire TVデバイスにアクセスしたりすることができます。アプリのテスト、セキュアシェルへのアクセス、パッケージの管理、ファイルシステムへのアクセスが可能です。開発者モードを有効にするには、Amazon開発者アカウントで認証する必要があり、デバイスは再起動されます。どのVega Fire TVデバイスでも、開発者モードを有効にする手順は同じです。

完了までの予想所要時間: 5~10分

前提条件

開始する前に、以下の準備が整っていることを確認してください。

  • Amazon開発者アカウント(認証に必要)- 開発者アカウントがない場合はサインアップしてください。
  • 開発用コンピューターにVega CLIがインストールされていること - vega --versionで確認してください。インストールされていない場合は、Vega SDKのインストールを参照してください。
  • 最新のSDK Manager - vega updateを実行して最新バージョンを入手してください。Vega SDK Managerを参照してください。
  • Vega OSを実行し、使用するコンピューターと同じネットワークに接続されているFire TVデバイス。すべてのサポート対象デバイスの一覧については、Fire TVのデバイス仕様を参照してください。

Fire TVでの開発者モードの認証

開発者モードでは、Vega CLIを使用してAmazon開発者アカウントで認証する必要があります。このプロセスでは、Fire TVデバイスから認証コードを取得し、ブラウザ経由で認証した後、ターミナルからデバイスの有効化を完了します。有効化すると、デバイスは自動的に再起動します。

  1. Fire TVの [設定] メニューにアクセスします。

    オプション1: ホームボタンを使用する

    a. リモコンのホームボタンを押して、[ホーム] 画面に移動します。

    b. 上部のメニューバーに移動します。

    c. 右にスクロールして、[設定] アイコン(歯車記号)を見つけて選択します。

    オプション2: ホームボタンのショートカットを使用する

    a. リモコンのホームボタンを3秒間長押します。

    b. 表示されたクイックメニューから [設定] を選択します。

  2. [設定] > [My Fire TV] > [バージョン情報] に移動します。

    [My Fire TV] 設定メニューの [バージョン情報] オプションを示すスクリーンショット。
  3. デバイス名(Fire TV Stick HD、Fire TV Stick 4K Select、Fire TVストリーミングメディアプレーヤーなど)を選択します。

    [バージョン情報] 画面の [Fire TV Stick 4K Select] オプションを示すスクリーンショット。
  4. リモコンの中央のボタンを7回押します。

    7回押すと、「You are now a developer」という簡単な通知が画面に表示されます。

  5. 戻るボタンを押して [My Fire TV] に戻ります。

    一覧に [開発者オプション] が表示されます。

    [My Fire TV] 設定メニューの [開発者オプション] を示すスクリーンショット。
  6. [開発者オプション] を選択します。

    [開発者モード](デフォルトでは無効)がメニュー一覧に表示されます。

    [開発者オプション] で [開発者モード] のステータスが [無効] として表示されているスクリーンショット。
  7. [開発者モード] を選択して続行します。

    [続行] および [キャンセル] オプションを含む [開発者モードの有効化] 確認ダイアログを示すスクリーンショット。
  8. 続行するには [続行](中止するには [キャンセル])を選択します。

    [キャンセル] を選択すると、ダイアログが閉じ、変更を加えずに [開発者オプション] 画面に戻ります。

    [続行] を選択すると、Fire TVの画面に6桁の認証コードが表示されます。このコードは#11で入力します。

    Fire TVの画面に表示される6桁の認証コードを示すスクリーンショット。
  9. Amazon開発者アカウントで認証するには、loginコマンドを実行します。

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

     vega devmode login
    

    CLIの指示に従って認証を完了します。CLIによって、デフォルトのウェブブラウザが自動的に開き、Amazon認証ページが表示されます。ブラウザが自動的に開かない場合は、ターミナルに表示されているURLに移動します。

  10. ブラウザでVega CLIのアクセスを認可します。

    Amazon OAuthの同意画面に、基本プロフィール情報や名前と共に「Vega Authentication Test would like access to:」というメッセージが表示されます。

    a. リクエストされた権限を確認します。

    b. Vega Authentication Testを認可するには [許可] を、拒否するには [キャンセル] を選択します。

    [キャンセル] を選択すると、CLIは認可を拒否し、認証エラーを表示します。vega devmode loginをもう一度実行して、やり直してください。

    [許可] を選択すると、チェックマークアイコンと「Device connected to your account」というメッセージを含む確認ページが表示されます。 このページは閉じてもかまいません。

    ターミナルに戻ります。CLIに次のように表示されます。

    Login successful! You are now authenticated with Amazon Developer Services.
    
  11. Fire TVの画面に表示されている6桁のコードを使用してデバイスを有効にします。

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

    vega devmode enable-device --code <6桁のコード>
    

    Amazon開発者アカウントに登録されているベンダーが1つのみの場合、CLIに次のように表示されます。

    Using vendor: Amazon
    ✓ Device enabled successfully
    

    アカウントに複数のベンダーが登録されている場合、CLIによっていずれかを選択するように求められます。

    Select a vendor:
    1. Amazon (XXXXXXXXXX)
    2. Amazon (XXXXXXXXXX)
    

    使用するベンダーに対応する番号を入力すると、CLIに「✓ Device enabled successfully」と表示されます。

  12. デバイスが再起動するまで待ちます。

    デバイスが3秒後に再起動することを示すFire TVの通知。
  13. デバイスの再起動後、[設定] > [My Fire TV] > [開発者オプション] > [開発者モード] に移動します。

    [開発者モード] のステータスが [有効] と表示されます。

    [開発者オプション] の設定で [有効] と表示されている [開発者モード] のステータス。
  14. デバイスが認識されることを確認します。

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

    vega device list
    

    1台のデバイスを接続したときの出力例:

    Found the following device:
    [シリアル番号] : [デバイス番号]
    

    複数のデバイスを接続したときの出力例:

    Found the following devices:
    [シリアル番号] : [デバイス番号]
    [シリアル番号] : [デバイス番号]
    
  15. デバイスに接続します。

    • 接続されているデバイスが1台の場合は、次のコマンドを使用します。

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

      vega device shell
      
    • 接続されているデバイスが複数ある場合は、デバイスのシリアル番号を指定します。

      vega device -d <デバイスのシリアル番号> shell
      

      出力の例:

       (hostmachine)% vega device -d <デバイスのシリアル番号> shell
      
       ##################################################
      
       ##### Welcome to Developer Mode Shell #####
      
       ##################################################
      
       sh(com.amazon.dev.shell):/$
      

開発者モードの状態

開発者モードの動作には、有効、認証、無効の各状態があります。

有効状態

有効状態では、vshシェルアクセス、vpmによるパッケージ管理、コンポーネントデバッグ機能など、すべての開発者機能が有効になります。

認証状態

認証状態は、有効化処理中に開発者モードへのアクセスがシステムによって検証されていることを示します。

無効状態

無効状態では、機能へのアクセスが標準ユーザー機能のみに制限されます。

開発ツール

開発者モードでは、パッケージのデプロイ、コンポーネント管理、ファイル操作に不可欠なツールにアクセスできます。適切な権限と適切なコンテキストでツールを使用してください。

Vega CLI

Vegaコマンドラインインターフェイス(CLI)コマンドは、デバイスにおけるパッケージのインストール、アンインストール、管理に使用します。以下のパッケージ操作が可能です。

# インストール(パッケージファイルパスを使用)
vega device install-app --packagePath my-package.vpkg

# パッケージの一覧表示
vega device installed-packages

# パッケージの情報
vega device run-cmd --command 'vpm info <パッケージID>'

# アンインストール(パッケージファイルではなくコンポーネントIDを使用)
vega device uninstall-app --appName <コンポーネントID>

Amazon以外のパッケージ(com.amazonプレフィックスが付いていないパッケージ)のみをサイドロードできます。

コンポーネント管理

アプリコンポーネントを起動、一覧表示、終了するには、vega deviceのコンポーネント管理コマンドを使用します。主なコマンドは以下のとおりです。

# 起動
vega device launch-app --appName <コンポーネントID>

# コンポーネントの一覧表示
vega device running-apps

# 終了
vega device terminate-app --appName <コンポーネントID>

ファイル操作

開発マシンとデバイス間でファイルを転送するには、ファイル操作を使用します。デフォルトシェルでは/tmpディレクトリへのアクセスのみが許可されますが、コンポーネントシェルでは特定の/tmp/scratch/<パッケージID>ディレクトリにアクセスできます。転送後は必ずファイルのアクセス権を確認します。また、デバイスのストレージを維持するため、不要になった一時ファイルは削除します。ファイルパスでは大文字と小文字が区別されることに注意してください。

ファイルを削除するときは、次の点に注意してください。

  1. デフォルトの開発シェルから/tmpにプッシュされたファイルのみを削除します。
  2. 以下の操作を行って、特定のコンポーネントシェル内で/tmp/scratch/<パッケージID>にあるファイルを削除します。

    • vega exec vda shell -t component-id com.myorg.myapp.mainコマンドを使用して、コンポーネントシェルに入る
    • /scratchディレクトリ(コンポーネントシェル内の/tmp/scratch/<パッケージID>のバインドマウント)に移動する
     sh(com.myorg.myapp.main):/$ cd scratch
     sh(com.myorg.myapp.main):/scratch$ rm -rf <ファイル名>
    

    デフォルトシェルプッシュ

     # デフォルトシェルにプッシュします
     vega device copy-to --source <ソース> --destination /tmp/
    
     # ファイルを表示します
     vega device shell
     sh(com.amazon.dev.shell):/$ ls -al /tmp
    

    コンポーネントシェルプッシュ

    
     vega device copy-to --source <ソース> --destination /tmp/scratch/<パッケージID>/
    
     例:
     (hostmachine)% vega device copy-to --source myfile_cloud.sh --destination /tmp/scratch/com.myorg.myapp   
    
     # コンポーネントの一覧を見つけます
     vega device installed-apps
    
     出力の例: 
     com.myorg.myapp.main         
     com.myorg.otad.main          
     com.myorg.dev.shell.service  
    
     # デバイスにインストールされたパッケージの一覧を見つけます
     vega device installed-packages
    
     出力の例:
     com.myorg.myapp
     com.myorg.test.lifecycleobserver
     com.myorg.TESSERACT.TEST
     com.myorg.sm-sample.client
     com.myorg.samplepkg
     com.myorg.security.manager.unprivileged-test
     com.myorg.nmunprivileged.task
     com.myorg.messaging.mr33.okidl.ac
    
     # コンポーネントシェルを起動します
     (hostmachine)% vega exec vda shell -t component-id com.myorg.myapp.main 
    
     # プッシュされたファイルを表示します
     sh(com.myorg.myapp):/$ ls -al scratch/
    
     出力の例:
     total 4
     drwxr-xr-x  2 app_user app_user  60 2024-07-16 03:03 .
     drwxr-xr-x 19 app_user app_user 400 2024-07-16 03:03 ..
     -rwxrwxrwx  1 app_user 30086    650 2024-07-16 03:03 myfile_cloud.sh
    

    デバイスからプル

     # デバイスからプルします
     vega device copy-from -o <デバイスパス> -s <ローカルパス>
    

ベストプラクティス

開発者モードを使用するときは、意図しないシステム変更を防ぐため、通常の開発ワークフローの一環として次のプラクティスに従います。

  • Amazon以外のパッケージIDを持つアプリのみをサイドロードします(パッケージIDの先頭がcom.amazonではないことを確認します)。
  • タスクに必要な最低限のアクセスレベルを使用します。
  • 最小権限の原則に従います。
  • 自分のアクションがデバイスの安定性とセキュリティに影響を及ぼす可能性があることに注意します。

トラブルシューティングとサポート

開発中に問題が発生した場合は、影響を受けている領域(認証、シェルアクセス、パッケージ管理、コンポーネント起動、ファイル操作)を特定することから始めます。問題の主な原因として、権限の誤りやデバイス状態の制限などが挙げられます。

次のセクションに記載されている解決策で問題が解決しない場合は、loggingctl logを使用して関連するログを収集してから、サポートを受けてください。

認証に関する問題

問題 解決策
認証に失敗する デバイスとコンピューターが同じネットワーク上にあることを確認します。有効なAmazon開発者アカウントを持っていることを確認します。表示されているとおりに認証コードを入力したことを確認します。
コードが期限切れになる 5分間の有効期限が切れた場合は、同じ画面で [Request a New Code] を選択するか、[開発者オプション] に戻ってプロセスをやり直します。
CLIが応答しない CLIが最新バージョンであることを確認します。vega --versionコマンドで、Vega CLIが正しくインストールされていることを確認します。デバイスのIPアドレスが正しいことを確認します。ファイアウォールで接続がブロックされていないことを確認します。
検証がタイムアウトする 「Validation check timed out」というメッセージが表示された場合、システムは自動的に再試行します。再試行が完了するまで待ちます。障害が繰り返し発生する場合は、[開発者オプション] からやり直してください。
デバイスが再起動しない 確認ダイアログで [キャンセル] を選択した場合、処理は中止されました。[開発者オプション] からやり直してください。
ブラウザが自動的に開かない ターミナルに表示されているURLに手動で移動します。URLをコピーしてブラウザに貼り付け、入力を求められたら認証コードを入力します。

一般的な開発に関する問題

問題 考えられる原因 解決策 予防策
パッケージのインストールが失敗する ディレクトリの間違い、または形式の問題。 /tmpの場所とパッケージ形式を確認します。 パッケージのガイドラインに従います。
コンポーネントの起動に関する問題 マニフェストエントリが見つからない。 マニフェストの構成とコンポーネントIDを確認します。 適切なマニフェストエントリを含めます。

デバッグツール

loggingctl logを使用してシステムログを収集し、コンポーネントの状態をモニタリングします。各デバッグツールには、デバイスの状態に基づいた特定のアクセスレベルがあります。

ツール 目的 必要なアクセスレベル 一般的なユースケース
loggingctl システムログとコンポーネントログ シェルの種類により異なる デバッグクラッシュ、動作の検証。
vlcm list コンポーネントのモニタリング デフォルトシェル 実行中のコンポーネントの追跡、状態の確認。
ps -efZ プロセスとセキュリティコンテキスト コンポーネントシェル 権限の確認、プロセスの状態の確認。

Last updated: 2026年8月7日