Amazon登录出现Invalid API Key异常,正式包问题求助
Amazon登录正式包报Invalid API Key异常排查方案
错误栈信息
java.lang.IllegalArgumentException: Invalid API Key at com.amazon.identity.auth.device.authorization.InternalAuthManager.<init>(InternalAuthManager.java:59) at com.amazon.identity.auth.device.authorization.InternalAuthManager.getInstance(InternalAuthManager.java:48) at com.amazon.identity.auth.device.api.authorization.AuthorizationManager.getToken(AuthorizationManager.java:272) at com.game.LoginWithAmazonActivity.onStart(LoginWithAmazonActivity.java:105) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391) at android.app.Activity.performStart(Activity.java:7194) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2983) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:211) at android.app.ActivityThread.main(ActivityThread.java:6775) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
配置界面截图


问题描述
测试包可正常拉起Amazon登录,但使用带有公钥的正式包时,即便修改了api_key.txt文件仍出现上述Invalid API Key异常。
排查解决步骤
- 验证API Key与正式签名的匹配性:测试包和正式包的API Key是独立的,必须使用对应正式签名证书SHA-256哈希生成的Key。去Amazon开发者后台重新生成,复制时确保无空格、换行等多余字符。
- 确认api_key.txt的打包状态:检查正式APK的
assets目录下是否存在该文件,内容是否正确。可通过解压APK直接查看,避免打包时文件被遗漏或替换。 - 核对正式包签名哈希:用keytool命令导出正式签名的SHA-256值,和Amazon后台生成Key时填写的内容完全对比:
注意大小写、空格必须完全一致。keytool -list -v -keystore 你的正式签名文件.jks -alias 签名别名 - 检查构建配置:确认Gradle的正式构建变体(release)没有覆盖assets目录,比如productFlavors或buildTypes中是否存在替换api_key.txt的逻辑。
- 清理缓存后重新构建:卸载设备上的旧正式包,删除项目build目录,重新编译打包,避免缓存文件干扰。
内容的提问来源于stack exchange,提问作者yangdi zhou
相关产品推荐
相关产品推荐

