小编use*_*142的帖子

将Firebase Crashlytics添加到Android项目时出现问题 - Crashlytics发现无效的API密钥:null

我正在尝试将Firebase crashlytics添加到我们的项目中,但却无法让它工作.

我按照说明添加必要的行到gradle文件但到目前为止没有成功.

我得到的主要问题是这条消息:Crashlytics发现了一个无效的API密钥:null

这似乎很奇怪,因为我认为Firebase不需要API密钥.

我使用Android studio 3.0.1和最新的gradle插件.我的项目是基于Ionic的,但我也试图手动修改gradle文件并获得相同的结果.

android firebase crashlytics google-fabric

13
推荐指数
2
解决办法
6399
查看次数

加载 Android .so 有时会失败(很少)

我们的 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 上工作时,它从那时起就一直继续工作。

这个问题确实很棘手,因为我们现在无法重现它,而且我们知道它至少影响了一小部分用户。

欢迎任何有关如何缩小范围的建议。

android loadlibrary android-ndk

5
推荐指数
0
解决办法
552
查看次数

dynamodb PartiQL SELECT 查询返回 ValidationException: Unexpected from source

我正在使用 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

5
推荐指数
2
解决办法
1661
查看次数