【问题标题】:Is it possible to publish apps to the Play Store using the new Material Components?是否可以使用新的 Material Components 将应用程序发布到 Play 商店?
【发布时间】:2018-11-12 19:44:24
【问题描述】:

我想使用设计支持库的28.0.0-alpha1 版本中引入的新材料组件。

我发现如果不将 compileSdkVersion 设置为 android-P,此版本的设计库将无法编译,因为它引用了仅在 API 级别 28 上找到的属性(例如,android:attr/dialogCornerRadius)。

另一方面,Google Play 控制台不允许我上传针对 android-P 的应用程序,它给了我错误“您无法上传仅用于测试的 APK”。这似乎是故意的,正如these docs 状态:

Google Play 禁止发布针对 P Developer Preview 的应用。当 Android P 最终版 SDK 可用时,您将能够以官方 Android P API 级别为目标,并通过 alpha、beta 和生产发布渠道将您的应用发布到 Google Play。

这真的意味着新组件还不能用于生产应用吗?

【问题讨论】:

    标签: android google-play google-play-console material-components material-components-android


    【解决方案1】:

    这是否真的意味着新组件不能用于 生产应用了吗?

    它应该用于试用,但不应发布给最终用户。顾名思义,它仍处于预览阶段,尚未最终确定。

    从开发人员的角度来看,目的是让我们在最终版本发布之前熟悉 API,并通过使用新 API 为我们的应用程序更新做好准备,从而为用户提供最佳体验。这也使我们能够事先检查兼容性,并为遵守新的变化和政策做好准备。

    从 Google 的角度来看,他们有机会执行一些测试,从开发人员那里获得反馈以微调他们的实施并修复在此过程中发现的问题。简而言之,他们将开发人员用作新 API 和功能的测试人员。最终的 API 可能会有一些剧烈的变化,这可能会破坏我们应用程序的预期行为,因此 Google 不鼓励并阻止我们意外上传到 Play 商店。

    【讨论】:

    • 感谢您的解释。我很清楚为什么会有限制,我正在寻找解决方法。
    【解决方案2】:

    更新:根据this blog post,现在正式支持发布面向 Android P 的应用程序。

    从今天开始,您可以发布针对 API 28 编译或选择以 API 28 为目标的 APK 更新。在预览期间向 Google Play 发布更新可让您将更新推送给用户,以测试现有设备(包括运行 Android P 的设备)的兼容性测试版 2。

    下面的旧答案。


    与此同时,感谢@​​987654322@ on reddit,我找到了解决方法。

    我最初认为 Play 管理中心正在检查应用是否针对 Android P 预览版,并且只是显示误导性错误消息。事实证明,它实际上只是检查是否设置了仅测试标志,如果您的目标是 P 预览版,则由 Android Studio 在编译时完成。

    但是,您可以像对任何其他构建一样禁用它(请参阅this answer),我具体所做的是将以下内容添加到我的gradle.properties

    android.injected.testOnly=false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      相关资源
      最近更新 更多