将目标 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;
}
对于导致中断的库,如果库制作精良,警告将消失,您的代码将保持其工作状态。 (极不可能)
- 最后一个选项是不要太在意。通常我使用这个选项。我从来没有遇到过麻烦。
希望对您有所帮助。
要将目标 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 中的解决方案:
谢谢,
肖恩
编辑 在你的依赖项中使用它
implementation 'com,android.support:support-v4:28.0.0'
试试这个,如果问题解决了请告诉我。
此警告表明您使用的库版本可能会发生冲突并导致一些 运行时间问题。但这不是错误 - 您仍然可以构建和 运行 项目 - 虽然它在某些情况下可能会出现异常。
要消除警告,您必须将所有 google 库更新到同一版本。
正如我从问题中看到的那样 - 你已经做到了。但是有一个问题 - 您正在使用的其他库可能没有完全完成(或者这是它们的本性)并且它们正在泄漏其内部 google 库依赖项。而且它们肯定是因为在您更改 gradle.
中的所有显式警告后此警告仍然存在您有多种选择来处理此错误
- 尝试将所有第三方库更新到最新版本——也许他们的开发人员已经更新了它们
- 找出导致此警告出现的库,然后对其进行更新、删除或将其更改为符合您应用的当前目标 API 的类似库。
- 使用
{
transitive = false;
}
对于导致中断的库,如果库制作精良,警告将消失,您的代码将保持其工作状态。 (极不可能)
- 最后一个选项是不要太在意。通常我使用这个选项。我从来没有遇到过麻烦。
希望对您有所帮助。