Date: 2016/4/27 Cate: Android Tags: , ,  

AndroidでAWSのLambdaを使っているのですが、海外の特定の国でのみ動かない、という報告がありました。
Lambdaのログをみてみると、Unable to parse clientContext as jsonというエラーを吐いています。
Androidの端末の言語設定を繁体字にしてアプリを起動し、Lambdaの実行させてみると

Failed to invoke HCRegisterUserForHunterGroup
com.amazonaws.mobileconnectors.lambdainvoker.LambdaFunctionException: Unhandled
    at com.amazonaws.mobileconnectors.lambdainvoker.LambdaInvocationHandler.processInvokeResult(LambdaInvocationHandler.java:125)
    at com.amazonaws.mobileconnectors.lambdainvoker.LambdaInvocationHandler.invoke(LambdaInvocationHandler.java:64)
    at java.lang.reflect.Proxy.invoke(Proxy.java:393)
    at $Proxy8.HCRegisterUserForHunterGroup(Unknown Source)
    at com.example.MyAwsManager$1.a(MyAwsManager.java:165)
    at com.example.MyAwsManager$1.doInBackground(MyAwsManager.java:157)
    at android.os.AsyncTask$2.call(AsyncTask.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    at java.lang.Thread.run(Thread.java:818)

というようにExceptionを吐いていました。
調べてみると、どうもアプリ名に繁体字の漢字やロシア語とかの文字が含まれてるとこのエラーが起きるようです。
アプリ名をアルファベットのみにしてみたところ、エラーは起きなくなりました。
いったんこれで対応していますが、その場しのぎでしかないので他に対策を考えるかLambdaのSDKのアップデートで対応されるのを待つか、という感じです。

Leave a Reply