TargetSdkVersion为28,但最高api级别为26

时间:2019-01-04 03:05:14

标签: android google-play-console android-9.0-pie

我正在尝试将我的应用程序从Nougat API级别26更新为Android Pie,API级别28。我将targetSdkVersion设置为28,并将compileSdkVersion设置为28。我还将所有支持库版本更新为最新版本(这也是28)。这是我的应用程序的gradle构建文件:

build.gradle file

此版本运行良好,我已经在API级28虚拟设备,Nexus 5X API 28和Pixel 2 XL API 28上进行了测试。

但是,当我将其上传到Google Play控制台时,它显示如下: API levels is 19-26 but targetSdkVersion is 28

我知道这将意味着兼容设备不会有任何变化(因为以前的版本也达到了API级别26)。

我已经尝试过在线搜索,但是找不到答案。大多数搜索结果告诉您将targetSdkVersion更新,支持库版本并将compileSdkVersion更新为28,这已经完成。另一半是关于minSdkVersion与targetSdkVersion之间的差异。

我在这里做什么错了?

2 个答案:

答案 0 :(得分:0)

首先,您不必将buildTools放在Android P上,这不是必需的。 其次,请确保您最新使用Android Studio上的SDK。 并查看Google提供的以下迁移指南: https://developer.android.com/about/versions/pie/android-9.0-migration

答案 1 :(得分:0)

@MorrisonChang链接https://developer.android.com/training/basics/supporting-devices/platforms之后,我再次检查了一下,发现其中一部分谈论了Android Manifest。

  

AndroidManifest.xml文件描述有关您的应用程序的详细信息,并确定其支持的Android版本。具体来说,该元素的minSdkVersion和targetSdkVersion属性标识与您的应用兼容的最低API级别以及为您设计和测试应用的API的最高级别。

由于here,我认为gradle构建文件将覆盖任何与SDK版本相关的元素。但我仍然重新查看了Android Manifest。

显然,我的Android清单上有这行:

<uses-sdk android:maxSdkVersion="26"/>

这设置了我的最大API级别。将其增加到28后,它开始工作。