将目标 API 级别更改为 28 SDK

change targets API level to 28 SDK

要将目标 SDK 更改为 28,我在 build.gradle 中执行了以下操作:

android {
      compileSdkVersion 28

      defaultConfig {
        targetSdkVersion 28

   ...
      dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'com.android.support:appcompat-v7:28.0.0' //-- line with error
implementation 'com.android.support:design:28.0.0' //-- line with error
implementation 'com.android.support:support-annotations:28.0.0'

implementation 'com.squareup.okhttp3:okhttp:3.9.1'
implementation "com.google.code.gson:gson:2.8.2"
implementation files('libs/commons-io-2.4.jar')
implementation files('libs/WebtrendsAndroidClientLib.jar')

// Urban Airship  -- Start
api 'com.urbanairship.android:urbanairship-sdk:9.0.0'

// Recommended for in-app messages
implementation 'com.android.support:cardview-v7:28.0.0' //-- line with error

// We need to add these to force Urban AirShip and Google play services to use latest version.
implementation 'com.android.support:animated-vector-drawable:28.0.0' //-- line with error
implementation 'com.android.support:mediarouter-v7:28.0.0' //-- line with error

implementation "com.google.android.gms:play-services:11.8.0"

// Urban Airship  -- End

//-- third party lib
implementation 'com.github.barteksc:android-pdf-viewer:2.4.0'
implementation 'com.sothree.slidinguppanel:library:3.3.0'
implementation 'com.google.maps.android:android-maps-utils:0.5+'

//api 'at.favre.lib', name: 'bytes', version: '0.2.0'
api 'at.favre.lib:bytes:0.2.0'

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

}

但在 Android Studio IDE 中,它显示错误行:

     com.android.support:appcompat-v7:28.0.0

和描述:

如果我评论这一行,下一行“28.0.0”将出现同样的错误。所以似乎 none 那些带有“28.0.0”的人完全有效。

我做错了什么?

更新了 "dependencies" 中的完整内容,并标记了每个将有错误的实现。每个错误都与图片中的描述完全相同

顺便说一句,尝试了 url 中的解决方案: 但它对我根本不起作用,并且发生了同样的错误。

** 关于注释 ** 的注释:url 中的解决方案: 确实有效。您需要 "Sync" 项目。

谢谢,

肖恩

编辑 在你的依赖项中使用它

implementation 'com,android.support:support-v4:28.0.0'

试试这个,如果问题解决了请告诉我。

此警告表明您使用的库版本可能会发生冲突并导致一些 运行时间问题。但这不是错误 - 您仍然可以构建和 运行 项目 - 虽然它在某些情况下可能会出现异常。

要消除警告,您必须将所有 google 库更新到同一版本。

正如我从问题中看到的那样 - 你已经做到了。但是有一个问题 - 您正在使用的其他库可能没有完全完成(或者这是它们的本性)并且它们正在泄漏其内部 google 库依赖项。而且它们肯定是因为在您更改 gradle.

中的所有显式警告后此警告仍然存在

您有多种选择来处理此错误

  • 尝试将所有第三方库更新到最新版本——也许他们的开发人员已经更新了它们
  • 找出导致此警告出现的库,然后对其进行更新、删除或将其更改为符合您应用的当前目标 API 的类似库。
  • 使用
{
    transitive = false;
}

对于导致中断的库,如果库制作精良,警告将消失,您的代码将保持其工作状态。 (极不可能)

  • 最后一个选项是不要太在意。通常我使用这个选项。我从来没有遇到过麻烦。

希望对您有所帮助。