Alexa Smart Screen SDK Troubleshooting Guide

Having trouble with the Alexa Smart Screen SDK? The following list shows resolutions for common issues.

If you run into a problem that's not listed here, create a new issue in our GitHub repo.

All platforms

Issue: Audio configuration problems

Symptoms

Microphone fails to pick up sound. Speaker or headset fails to play sound.

Resolution

See the AVS Device SDK Troubleshooting Guide.

Issue: AlexaClientSDKConfig.json file is empty or points to the wrong directories

Symptoms

The sample app fails to start.

Resolution

Make sure that the AlexaClientSDKConfig.json file exists and that the path to the database files is valid, even if the db folder is empty. Here is a sample AlexaClientSDKConfig.json file, where <pathto> is a placeholder for the path to the ~/sdk_folder/db directory.

{
    "cblAuthDelegate":{
        "databaseFilePath":"<pathto>/cblAuthDelegateMMSDK.db"
    },
    "deviceInfo":{
        "deviceSerialNumber":"<serialNumber>",
        "clientId":"<clientId>",
        "productId":"<productId>"
    },
    "deviceSettings":{
        "databaseFilePath":"<pathto>/deviceSettings.db",
        "locales":["en-US","en-GB","de-DE","en-IN","en-CA","ja-JP","en-AU","fr-FR","it-IT","es-ES","es-MX","fr-CA",
            "es-US", "hi-IN", "pt-BR"],
        "defaultLocale":"en-US",
        "localeCombinations":[
            ["en-CA", "fr-CA"],
            ["fr-CA", "en-CA"]
        ],
        "defaultTimezone":"America/Vancouver"
    },
    "miscDatabase":{
        "databaseFilePath":"<pathto>/miscDatabase.db"
    },
    "alertsCapabilityAgent":{
        "databaseFilePath":"<pathto>/alerts.db"
    },
    "settings":{
        "databaseFilePath":"<pathto>/settings.db",
        "defaultAVSClientSettings":{
            "locale":"en-US"
        }
    },
    "certifiedSender":{
        "databaseFilePath":"<pathto>/certifiedSender.db"
    },
    "notifications":{
        "databaseFilePath":"<pathto>/notifications.db"
    },
    "capabilitiesDelegate":{
    }
 }

Issue: Authentication error when changing products

Symptoms

You see the following error when you try to run the Alexa Smart Screen SDK sample app on a new device (that you have registered as a product in the Alexa console):

RequiresShutdown:~RequiresShutdownFailed:reason=notShutdown,name=FocusBridge
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CBLAuthDelegate:receiveTokenResponseFailed:result=UNAUTHORIZED_CLIENT

Resolution

  1. Navigate to the ~/sdk_folder/db folder and delete its contents.

  2. Copy the credentials (clientID and productID) from the new product's config.json file into the AlexaClientSDKConfig.json file.

  3. Run the sample again.

  4. To authorize the new product, enter the code provided on the screen in the web page at amazon.com/us/code. For more information, see Get a Refresh Token in the AVS Device SDK documentation.

macOS

Symptoms

You see the following output.

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
/bin/sh: line 1: 91419 Abort trap: 6           npm install
make[2]: *** [modules/GUI/CMakeFiles/GUIClient] Error 134
make[1]: *** [modules/GUI/CMakeFiles/GUIClient.dir/all] Error 2
make: *** [all] Error 2

Resolution

brew reinstall node

If brew reinstall node doesn’t fix the error, uninstall and reinstall the node manually from the node.js website.

brew uninstall —ignore-dependencies node
  1. In your web browser, go to https://nodejs.org/en/download/.

  2. Download the LTS version for Mac, and follow the prompts to install Node.js.

  3. Re-run your cmake and make commands.

Symptoms

When trying to run the Alexa Smart Screen SDK Sample App, you see the following output.

dyld: Library not loaded: @rpath/libAVSCommon.dylib
  Referenced from: ~/sdk_folder/ss-build/./modules/Alexa/SampleApp/src/SampleApp
  Reason: image not found
Abort trap: 6

Resolution

Run the following command.

export DYLD_LIBRARY_PATH=$HOME/sdk_folder/sdk-install/lib:$DYLD_LIBRARY_PATH

Issue: Compatibility issue with websocketpp 0.8.1 and asio

Symptoms

Your Alexa Smart Screen SDK build fails due to the compatibility issue reported in https://github.com/zaphoyd/websocketpp/issues/794.

Resolution

  1. In step 7.1.ii, git clone the websocketpp project from https://github.com/zaphoyd/websocketpp/ into your Smart Screen SDK third-party directory.
  2. Check out the develop branch.
  3. In step 7.5, use the following cmake command:
    cmake -DCMAKE_PREFIX_PATH=$HOME/sdk_folder/sdk-install \
    -DWEBSOCKETPP_INCLUDE_DIR=$HOME/sdk_folder/third-party/websocketpp \
    -DDISABLE_WEBSOCKET_SSL=ON \
    -DGSTREAMER_MEDIA_PLAYER=ON \
    -DCMAKE_BUILD_TYPE=DEBUG \
    -DPORTAUDIO=ON -DPORTAUDIO_LIB_PATH=$HOME/sdk_folder/third-party/portaudio/lib/.libs/libportaudio.a \
    -DPORTAUDIO_INCLUDE_DIR=$HOME/sdk_folder/third-party/portaudio/include/ \
    -DAPL_CORE=ON \
    -DAPLCORE_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/aplcore/include \
    -DAPLCORE_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/aplcore \
    -DYOGA_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/build/yoga-prefix/src/yoga \
    -DYOGA_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/lib \
    ../alexa-smart-screen-sdk
    

Raspberry Pi

Issue: Alexa Smart Screen SDK build fails on Raspbian Buster

Symptoms

Alexa Smart Screen SDK build fails.

Resolution

None. The Alexa Smart Screen SDK is currently supported only on Raspbian Stretch, not Raspbian Buster.

To see what version of Raspbian you’re running, run this command.

cat /etc/debian_version

Or run this command.

cat /etc/os-release

If the output is 9.XX, you’re running Stretch. If it’s 10.XX, it’s Buster.

Issue: Missing libcrypto (or other library) error from AVS Device SDK build

Symptoms

AVS Device SDK cmake build command fails with "can't find libcrypto" error - or an error reporting another library as missing.

Resolution

Install the required version of the missing library. For example, the AVS Device SDK requires libcrypto version 1.1. To install it, use the following command.

sudo apt install libcurl4-openssl-dev libssl-dev

Issue: Audio settings appear to be correct, but no audio from sample app

Symptoms

When you click the Alexa logo in your web browser and speak into the microphone on my Pi, you see "Listening..." and "Thinking...", but then nothing happens.

Resolution 1

Your microphone may be turned off. If so, you'll need to turn it on by completing the following steps.

  1. In the upper right corner of the Raspberry Pi screen, right-click the speaker icon, and then choose USB Device Settings.
  2. In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
  3. Under the Microphone level setting, look for a dot that's either black or red.
  4. If it's black, that means the microphone is turned off. Click the dot, and it should turn red to indicate that the microphone is turned on.

Resolution 2

If you're using a USB microphone and earbuds, try the following procedure.

  1. Replace the contents of your ~/.asoundrc with the following definitions:
     pcm.!default {
         type hw
         card 0
     }
     ctl.!default {
         type hw
         card 0
         }
     }
    
  2. In the upper right corner of the Raspberry Pi screen, right-click the speaker icon, and then choose Analog.
  3. Right-click the speaker icon again and choose USB Device Settings.
  4. In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
  5. Under the Microphone level setting, look for a dot that's either black or red.
  6. If it's black, that means the microphone is turned off. Click the dot, and it should turn red to indicate that the microphone is turned on.