是否可以使用新的材料组件将应用程序发布到Play商店?

时间:2018-06-03 07:31:26

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

我想使用设计支持库的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 final SDK可用时,您将能够定位官方Android P API级别,并通过alpha,beta和制作发布渠道将您的应用发布到Google Play。

这是否真的意味着新组件还不能用于生产应用程序?

2 个答案:

答案 0 :(得分:2)

  

这是否真的意味着新组件无法使用   生产应用程序呢?

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

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

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

答案 1 :(得分:1)

更新:根据this blog post,目前正式支持发布定位Android P的应用。

  

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

下面的旧答案。

与此同时,由于/u/slartibartfast_iv上的reddit,我找到了解决方法。

我最初认为Play控制台正在检查该应用是否定位到Android P预览版并且只显示误导性错误消息。事实证明,它只是检查是否设置了仅测试标志,如果您的目标是P预览,则由Android Studio在编译时完成。

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

android.injected.testOnly=false