有没有办法将签名的apk上传到crashlytics?

Jac*_*ltz 6 android crashlytics gradlew android-studio

我正在尝试将我的应用程序上传到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
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*oot 4

得到了答案:

您应该在 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"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我强烈建议不要将凭据添加到您的 gradle 文件中!该文件可能存储在您的存储库中。让某些人能够访问您的代码,他还能够以您的名义创建新版本!在你的情况下,只需加载一个 gradle 文件(使用 `apply from "/path/to/"`),在其中放置你的 `signingConfigs` 数据,这样它就不是你的存储库的一部分。最好使用 CI 系统来构建并让 CI 以安全的方式存储凭据,以便您的 gradle 将它们读取为某些系统变量等。 (4认同)