定位API 28更新

时间:2019-10-26 18:18:40

标签: android android-api-levels

我有多个目标为SDK 26的应用,并且众所周知,自从Google对Play商店SDK的要求应用了新规则以来,我必须将目标SDK更新为28,其中涉及一个很多更新!

最近几天我尝试进行更新,但遇到很多错误:

  • 支持库冲突
  • 严重冲突
  • 第三图书馆冲突

因此,在确定要更新为目标API 26之前,我将一切都重新设置为目标API 28在应用上进行了一些更改。

我的问题:为避免此类冲突,我必须使用的最佳方法/预期和最佳Android Studio版本是什么?

1 个答案:

答案 0 :(得分:0)

面对问题中提到的几个问题后,我成功地将项目的targetSdkVersioncompileSdkVersion更新为28,在这里我将写出我遵循的所有步骤以及我做了改变。

  • I-步骤:

1-将我的android studio更新到最新版本

2-更新我的gradle插件版本,gradle版本(5.4.1)

dependencies {
    classpath 'com.android.tools.build:gradle:3.5.1'
    .........
}

3-迁移到androidx

4-将所有第3个库(Firebase,google play服务,毕加索,.....)更新为最新版本

implementation 'com.google.firebase:firebase-appindexing:19.0.0'
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.github.f0ris.sweetalert:library:1.5.1'
implementation 'com.google.firebase:firebase-messaging:20.0.1'
..........
..........

5-将google-services插件版本更新为最新版本

  dependencies {
    ........
    classpath 'com.google.gms:google-services:4.3.3'
}

6-在项目gradle中添加google()存储库

repositories {
    jcenter()
    google()
}

allprojects {
repositories {
    jcenter()
    mavenCentral()
    maven {
        url 'https://maven.google.com'
    }
    google()
 }
}

7-在Java gradle中将Java 8添加为compileOption

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
  • II-更改:

对于更改,它实际上取决于您使用的小部件和库,但通常应提及一些重要点:

1。启用对所有类型的HTTP和HTTPS连接的请求

usesCleartextTraffic添加到AndroidManifest.xml

<application
...
android:usesCleartextTraffic="true"
...>

指示应用程序是否打算使用明文网络流量,例如明文 HTTP 。目标为API27或更低的应用程序的默认值为"true"。定位到API28或更高级别的应用默认为"false"

2-弃用和方法更改

某些方法将被提及为已弃用甚至找不到,因此请确保将检查代码的每一行以更新或重写可疑方法

3-小部件属性弃用

如上所述,某些小部件可能与之前完成的更新有关,因此请确保检查布局是否过时或出现问题


NB:

如果有什么要注意或在此处添加的内容,那就太好了。希望将来对别人有帮助。