我正在尝试将Firebase crashlytics添加到我们的项目中,但却无法让它工作.
我按照说明添加必要的行到gradle文件但到目前为止没有成功.
我得到的主要问题是这条消息:Crashlytics发现了一个无效的API密钥:null
这似乎很奇怪,因为我认为Firebase不需要API密钥.
我使用Android studio 3.0.1和最新的gradle插件.我的项目是基于Ionic的,但我也试图手动修改gradle文件并获得相同的结果.
我们的 Android 应用程序遇到了一个奇怪的问题。在 Fabric 中,我们很少发生崩溃。这是一个标准的 UnsatisfiedLinkError ,意味着在 Java 类的静态初始化程序中,.so 库无法加载。这是我们迄今为止所发现的:
这个问题非常罕见。它发生在数十万台设备中的几百台设备中。
一旦出现这种情况,似乎重启甚至重新安装都不能解决问题。
这种情况发生在索尼、三星、华为等各个品牌上。
从 2.3 到 5.x 的所有 Android 版本都会出现这种情况。
我们在办公室的 Nexus 1 设备上成功捕获了它。当它开始发生时,它总是在 LoadLibrary 调用中失败,即使同一个 apk 在其他设备上运行得很好。
问题发生的时候,我把armv7a和x86版本的lib都去掉了,只留下了armeabi的,以排除加载错误的lib,还是失败。通过Android studio重新运行应用程序多次添加日志仍然导致在同一个地方失败。
然后突然间,在没有明显变化的情况下,它开始在 Nexus 1 中工作,甚至在重试数十次之后,我们无法再次重现该问题。在它开始工作之前发生的唯一一件事是,我尝试使用 adb install 手动安装损坏的 apk,但失败了,下次我通过 Android studio 加载该应用程序时,它工作了,并且从那以后一直工作。我不确定损坏的 apk 安装失败是否以某种方式清除了某些内容,或者这只是一个巧合。
我未能做的事情是检查发生故障时设备上的 lib 文件夹中是否确实存在armeabi .so 文件。我是在它已经开始工作之后才开始考虑这个问题的。
所以,总结一下。该 apk 完全没问题,但可以在 99.9% 的设备上从 Android studio 和 Play 商店安装,但在某些情况下(非常罕见),LoadLibrary 会失败,当失败时,似乎没有明显的修复方法,甚至重新安装都没有解决这个问题,但正如我所解释的,某些东西终于发生了变化,当它开始在 Nexus 1 上工作时,它从那时起就一直继续工作。
这个问题确实很棘手,因为我们现在无法重现它,而且我们知道它至少影响了一小部分用户。
欢迎任何有关如何缩小范围的建议。
我正在使用 Amplify 使用 dynamodb 的放大蓝图设置具有相应 lambda 的 dynamodb。
使用 KeyConditionExpression 等以“经典”方式访问 dynamodb 工作得很好,但今天我想尝试使用 PartiQL 代替 executeStatement,但我无法让它工作。
我已将“dynamodb:PartiQLSelect”权限添加到所有其他 dynamodb 权限所在的 cloudfront 模板,如下所示:
"Action": [
"dynamodb:DescribeTable",
"dynamodb:GetItem",
"dynamodb:Query",
"dynamodb:Scan",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:PartiQLSelect"
],
Run Code Online (Sandbox Code Playgroud)
并且我没有收到任何权限错误,所以我希望那部分没问题,但是即使没有添加该行,它也会返回相同的错误。
总是返回的错误是: ValidationException: Unexpected from source"
无论我尝试过什么,都无济于事。到目前为止,我的代码非常基本:
const dynamodb2 = new AWS.DynamoDB();
let tableName = "habits_sensors";
if(process.env.ENV && process.env.ENV !== "NONE") {
tableName = tableName + '-' + process.env.ENV;
}
app.get(path, function(req, res) {
let params = {
Statement: `select * from ${tableName}`
};
dynamodb2.executeStatement(params, (err, data) => …Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-dynamodb aws-amplify dynamodb-queries partiql