Google謹製Androidエミュレータを単体起動させるまで for Mac

Xcodeに入ってるiPhoneエミュレータみたいに、Androidエミュレータも単体起動させたかったので、色々調べた結果のメモ。

  1. Android SDKをインストール
  2. なんでも良いので、適当に空プロジェクトを作って、プロジェクトウィンドを開く。
  3. AVD Managerを起動する。
  4. 任意のエミュレータイメージを作成する。(かなり時間がかかる)
  5. イメージができたら、一応起動テスト
  6. Android SDKを終了
  7. コマンドプロンプトを起動
    注) Android SDKには「emulator」が2つあって面倒なので、よく分からない人は、パスを通さない方が無難かも。
  8. 「emulator -list-avds」で作成したエミュレータイメージ名を確認
    /Users/ユーザー名/Library/Android/sdk/tools/emulator -list-avds
  9. 「emulator -avd」で上記で調べたエミュレータ名を指定すると、エミュレータが起動
    /Users/chikao/Library/Android/sdk/emulator/emulator -avd エミュレータイメージ名
  10. Automaterで上記コマンドをシェルアプリ化。
参考サイト:
Webフロントエンド開発者のためのAndroidエミュレータ活用術
“Missing emulator engine program for ‘x86’ CPU”が発生する場合の対処法

DialogflowでGoogle Home用アプリを作ってみた結果報告

Google Home miniが事務所に来たので、色々な参考サイトを見ながら、Dialogflowで早速アプリを作ってみた。
が、実際の画面と参考サイトの説明にズレが出てたので、苦労した点をメモ。

●intents作成画面に、「User Says」って項目が無い!
「Training phrases」って項目に変更になった模様。
●Integrations画面に「Google Assistant」のon/offボタンがない
デフォルトでon状態になってて、切り替え不要になった模様。
●intents作成画面の「FulfilIntent」項目に、「Use webhook」ってチェックボックスが無い!
“Enable webhook call for this intent”って表記に変更になった模様。
●FulfilIntentのinline Editorにサンプルスクリプト入れても、エラーで動かない!
インスタンスの作成方法やパラメータの取得方法が、かなり変わってる模様。
とりあえず、シンプルなテンプレソースはこんな感じ。(オレンジの部分は、良くわからんのでそのまま使う。)

'use strict'; const functions = require('firebase-functions'); const {WebhookClient} = require('dialogflow-fulfillment'); const {Card, Suggestion} = require('dialogflow-fulfillment'); process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => { const agent = new WebhookClient({ request, response });
function yourFunctionHandler(agent) { //Actionで取得したパラメータを取得 let paramVal = agent.parameters['PARAMETER NAME']; //ログにトレースする console.log("PARAMETER NAME = " + paramVal); //結果を喋らせる agent.add(paramVal + 'です'); } let intentMap = new Map(); //ファンクションをintentに登録する intentMap.set('INTENT_NAME', yourFunctionHandler); agent.handleRequest(intentMap); });