问题 Crashlytics - 不同的gradle风味的不同包名


我正在尝试使用具有2种不同风格的Android Studio设置Android应用。每种风味都会更改packageName和applicationId - 因为我想将2个独立的APK作为2个不同的产品提交给Google Play。

我还尝试在Crashlytics中设置单独的应用程序,每种风格都有一个。虽然第一个创建没有任何问题,但当我切换味道时,Android Studio的Crashlytics插件仍然认为我的项目已经设置好了。因此,目前我无法正确设置我的Crashlytics以获得第二种口味。

在此先感谢您的任何建议。


12991
2017-09-05 14:43


起源



答案:


正如m4ch3t3所建议的,这种解决方法非常有效:

我创建了一个包含名称与另一个匹配的空项目   味道。使用这个项目我在Crashlytics中创建了新的应用程序。然后我   编译了我的真实项目的两种风格,并造成了假的崩溃   他们。崩溃被报告为匹配的Crashlytics应用程序

您可以通过在app build.gradle中定义applicationId来定义不同的包名称,如下所示:

productFlavors {

        dev {
            applicationId "dev.myapp.app"
        }

        prod {
            applicationId "prod.myapp.app"
        }
    }

7
2017-07-29 13:22



每种口味都不需要不同的ApiKeys吗? - Roel
不,因为Fabric使用包名来区分项目。您可以使用相同的api密钥。这是因为您的api密钥不是绑定到项目而是绑定到组织 - firegloves
@Roel您可以将不同的包名称指定为applicationId,如我编辑的答案中所示 - firegloves


答案:


正如m4ch3t3所建议的,这种解决方法非常有效:

我创建了一个包含名称与另一个匹配的空项目   味道。使用这个项目我在Crashlytics中创建了新的应用程序。然后我   编译了我的真实项目的两种风格,并造成了假的崩溃   他们。崩溃被报告为匹配的Crashlytics应用程序

您可以通过在app build.gradle中定义applicationId来定义不同的包名称,如下所示:

productFlavors {

        dev {
            applicationId "dev.myapp.app"
        }

        prod {
            applicationId "prod.myapp.app"
        }
    }

7
2017-07-29 13:22



每种口味都不需要不同的ApiKeys吗? - Roel
不,因为Fabric使用包名来区分项目。您可以使用相同的api密钥。这是因为您的api密钥不是绑定到项目而是绑定到组织 - firegloves
@Roel您可以将不同的包名称指定为applicationId,如我编辑的答案中所示 - firegloves


使用适用于Android Studio的Crashlytics插件将成为您的PITA。

您真正需要的只是API密钥和秘密 - 在同一个组织中共享 - 因此,如果您已经在Crashlytics上正确部署了一个应用程序,则可以从组织配置文件中访问这些数据。

刚刚从android studio插件注销(CTRL + L,同时插件弹出窗口被聚焦),并查看 这个答案 这解释了如何处理多种风味和多个键。


4
2017-09-06 21:01



我设法绕过了这个问题。我创建了一个空项目,其包名与其他风格相匹配。使用这个项目我在Crashlytics中创建了新的应用程序。然后我编译了我的真实项目的两种风格,并在其中引起了假的崩溃。崩溃被报告为匹配的Crashlytics应用程序。所以一切都按我的意愿运作。可悲的是,我需要使用一种解决方法。 - lookashc
你是怎么把两个钥匙放在舱单里的?在不同的资源集? - Bastet
@Bastet看看提出的更新解决方案 stackoverflow.com/questions/25700680/... - a.bertucci
@ a.bertucci谢谢你,我会尝试一下,虽然我的目标是在一些口味中使用crashlytics / fabric,我想如果我没有为所有口味提供它,它会与我争论,而且还有获得apikey的另一个痛苦...对于我现在所知道的,我们必须运行每个独特的应用程序,以使织物插件获得我们的apikey ..似乎面料使用一个apikey所有的味道.. - Bastet
@ m4ch3t3我知道已经有一年多了,但你的方法对我来说仍然很完美,谢谢! :D我希望他们解决这个问题.. - TheTool