Android Studio中Login With Amazon无法找到API Key问题求助
解决LWA API Key读取失败的步骤
确认assets文件的正确存放位置
把api_key.txt放在app/src/main/assets目录下,父目录的assets或build/intermediates里的assets都是无效的——build目录下的文件是编译生成的,手动添加会被覆盖,只有src/main/assets属于源码目录,编译时会被打包进APK。验证api_key.txt的内容
打开文件确保只有纯API Key字符串,没有多余的空格、换行、注释(比如//开头的内容),LWA API Key不允许带任何额外字符。修正assets文件读取代码
确保读取逻辑正确,记得去掉空白字符:try { InputStream is = getAssets().open("api_key.txt"); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.close(); String apiKey = new String(buffer, StandardCharsets.UTF_8).trim(); } catch (IOException e) { e.printStackTrace(); }正确配置Manifest元数据(如果用这种方式)
在<application>标签内添加元数据:<meta-data android:name="com.amazon.lwa.api_key" android:value="你的LWA API Key"/>读取代码要和name字段完全匹配(大小写敏感):
try { ApplicationInfo appInfo = getPackageManager().getApplicationInfo( getPackageName(), PackageManager.GET_META_DATA); String apiKey = appInfo.metaData.getString("com.amazon.lwa.api_key"); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); }清理缓存并重新编译
执行Build > Clean Project,再执行Build > Rebuild Project;如果还是不行,直接删除app/build目录后重新编译,避免旧缓存干扰。检查APK内是否包含assets文件
找到app/build/outputs/apk/debug下的APK,改后缀为.zip后解压,查看是否存在assets/api_key.txt且内容正确。如果没有,检查module的build.gradle是否正确配置了assets目录:android { sourceSets { main { assets.srcDirs = ['src/main/assets'] } } }
内容的提问来源于stack exchange,提问作者JSNerd01
相关产品推荐
相关产品推荐

