【问题标题】:Is there a way to upload the signed apk to crashlytics?有没有办法将签名的 apk 上传到 crashlytics?
【发布时间】:2015-07-15 23:32:09
【问题描述】:

我正在尝试将我的应用上传到 crashlytics。我曾尝试在 Android Studio 中构建应用程序,但我不断收到此消息。见截图。

然后我尝试了命令行

./gradlew assembleRelease crashlyticsUploadDistributionRelease

:app:crashlyticsUploadDistributionRelease
Uploading /Users/jgs/Projects/Personal/APP_NAME/app/build/outputs/apk/app-release-unsigned.apk to Crashlytics...
 WARN - Crashlytics halted compilation because it can't distribute the unsigned APK: /Users/jgs/Projects/Personal/APP_NAME/app/build/outputs/apk/app-release-unsigned.apk
:app:crashlyticsUploadDistributionRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:crashlyticsUploadDistributionRelease'.
> Distribution upload failed.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 51.465 secs

有没有办法手动上传签名的 APK?我可以在 Android 中构建,但这不会触发上传到 crashlytics。

【问题讨论】:

  • 嗨,Jake,来自 Crashlytics 的 Mike。您可以在 support@ 上给我发一封便条,其中包含您要分发的软件包名称吗?看起来该应用尚未完全激活,这就是上传失败的原因。
  • 迈克,我刚刚回复了支持电子邮件
  • 嘿@JackShultz 你解决了吗?我在使用已签名的 apk 时遇到了同样的问题。
  • 不,我放弃了。我想不通。
  • 我也有同样的问题。完全相同的命令适用于其他项目。我将深入了解它们之间的区别。

标签: android android-studio crashlytics gradlew


【解决方案1】:

如果您想将未签名或调试的 apk 上传到 Crashlytics,请使用以下命令:

./gradlew clean assembleDebug crashlyticsUploadDistributionDebug

【讨论】:

  • 这是不正确的。甚至调试 apk 也已签名。但是有一个调试键?。
【解决方案2】:

得到答案:

您应该在 Gradle 文件中提供签名配置。如果不这样做,它将不会在“/build/outputs/apk/”目录中生成签名的 .apk 文件。

示例(将其添加到 Gradle 文件的 android 部分):

buildTypes {
    release {
        ...
        signingConfig signingConfigs.release
    }
}

signingConfigs {
    release {
        // this keystore is located at module level
        storeFile file("certs/keystore.jks")
        storePassword "YOUR_PASSWORD"
        keyAlias "your_project_alias"
        keyPassword "YOUR_PASSWORD"
    }
}

【讨论】:

  • 我强烈建议不要将凭据添加到您的 gradle 文件中!该文件可能存储在您的存储库中。让一些人访问您的代码,他也能够以您的名义创建新版本!在您的情况下,只需在您放置 signingConfigs 数据的位置加载一个 gradle 文件(使用 apply from "/path/to/"),这样它就不是您的存储库的一部分。最好使用 CI 系统构建并让 CI 以安全的方式存储凭据,以便您的 gradle 将它们作为某个系统变量左右读取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 2021-05-22
  • 2018-04-24
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多