【问题标题】:Difficulties setting up Gradle to send ProGuard mapping files to Firebase设置 Gradle 以将 ProGuard 映射文件发送到 Firebase 的困难
【发布时间】:2017-01-21 01:00:51
【问题描述】:

我正在尝试通过 Firebase 关注 documentation tutorial 来设置 Android Studio,以便在为我的 Android 应用程序构建发布 APK 时自动发送我的 ProGuard 映射文件。

但是,我似乎无法理解“使用 Gradle 上传 ProGuard 映射文件”部分中的第 4 步和第 5 步,主要是因为我在项目根路径或主路径中没有找到任何 gradle.properties 文件,并且因为我希望在 Android Studio 中自动执行app:firebaseUploadReleaseProguardMapping 任务,我不知道该怎么做。

这是我在项目根目录中创建的gradle.properties 文件的内容:

FirebaseServiceAccountFilePath = /app/firebase-crash-reporting.json

firebase-crash-reporting.json 文件是我的 Firebase 崩溃报告私钥。我的映射文件是在/app/build/outputs/mapping/release/ 目录中生成的,如果有帮助的话。

请协助我完成这 2 个步骤并在 Android Studio 中自动化该过程。

【问题讨论】:

    标签: android firebase firebase-crash-reporting


    【解决方案1】:

    只需添加

    afterEvaluate {
        assembleRelease.doLast {
            firebaseUploadReleaseProguardMapping.execute()
        }
    }
    

    build.gradle 文件的android 部分中。

    这将自动将 ProGuard 映射文件上传到 Firebase,并使用 ADB 将 APK 运行/部署到设备。

    【讨论】:

    • 错误:(87, 1) 任务 ':hotelsclick:assembleRelease' 执行失败。 > 无法获取 org.gradle.api.DefaultTask 类型的任务 ':hotelsclick:assembleRelease' 的未知属性 'firebaseUploadReleaseProguardMapping'。在我看来,脚本不知道从哪里获取 firebaseUploadReleaseProguardMapping 属性。而且我也不知道... -.-
    • @MarcoZanetti 你在build.gradle 中添加了compile 'com.google.firebase:firebase-crash:10.2.4' 吗?
    • 是的@vipul-asri :-)
    【解决方案2】:

    gradle.properties 完全由您拥有和管理。如果它尚不存在,则必须创建它。这意味着您可能应该read the Gradle documentation on it 以最好地了解它如何为您的构建提供属性,以及哪个位置最适合您的属性。

    您甚至没有义务使用 gradle.properties。您还可以通过命令行指定崩溃报告插件的所有属性。

    当您指定服务帐户文件的路径时,您应该指定该文件的完整、明确的路径。在您的示例中,您似乎假设它将在项目中的 app 目录下查找。如果你想这样做,你仍然需要提供文件的完整路径。

    【讨论】:

    • 谢谢,我已经修复了我的 gradle.properties 文件,它现在包含私钥 JSON 文件的完整路径。但是,我不确定如何让 Android Studio 在“assembleRelease”之后正确运行“app:firebaseUploadReleaseProguardMapping”,我尝试创建一个运行“app”配置然后运行 ​​firebaseRelease 任务的 Gradle 构建配置,但它失败并显示“没有任务执行已指定”错误,我将不胜感激。
    • 上传映射的任务将首先构建您的 APK。您可以在它执行的任务列表中看到它。
    • 效果很好,我可以看到一个新的映射文件上传到我的 Firebase 仪表板,但是这个脚本在使用“运行”构建时不会通过 ADB 将 APK 部署到我的设备或“调试”选项,我可以添加一些东西来使其部署它构建的 APK 吗?非常感谢。
    • 使用 Gradle 运行适当的安装任务。
    • @AchrafAlmouloudi 你好。我和你有同样的挑战。您可以粘贴 gradle.properties 中的代码吗?我不确定我必须更改或添加到此文件中才能正常使用崩溃报告。谢谢
    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 2018-06-22
    • 2017-04-03
    • 2023-03-22
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多